03.04.2013 Views

Uma Arquitetura de Suporte a Interações 3D ... - DCA - Unicamp

Uma Arquitetura de Suporte a Interações 3D ... - DCA - Unicamp

Uma Arquitetura de Suporte a Interações 3D ... - DCA - Unicamp

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

130 Resultados<br />

Fig. 6.1: Mo<strong>de</strong>los utilizados no teste <strong>de</strong> <strong>de</strong>sempenho entre o método <strong>de</strong> ray picking e a arquitetura<br />

proposta.<br />

<strong>de</strong> interação. Esta tarefa <strong>de</strong> interação consistiu em realizar o posicionamento restrito <strong>de</strong> um cursor <strong>3D</strong><br />

a um ponto <strong>de</strong> uma superfície apontada pelo cursor 2D, alinhando o cursor <strong>3D</strong> com relação ao vetor<br />

normal da superfície no ponto <strong>de</strong> restrição. Os testes foram conduzidos em um computador com-<br />

putador AMD Athlon 64 3500+ <strong>de</strong> 2.2GHz e 2GB RAM, equipado com uma placa gráfica NVIDIA<br />

GeForce 8800 GTX com 768MB. A geometria utilizada foi <strong>de</strong>formada em cada quadro <strong>de</strong> exibição,<br />

<strong>de</strong> modo que os atributos geométricos necessários para realizar a interação precisaram ser calcula-<br />

dos em tempo <strong>de</strong> execução, em todos os quadros. No método <strong>de</strong> ray picking, estes cálculos foram<br />

feitos na CPU. Na arquitetura proposta, as <strong>de</strong>formações foram realizadas diretamente no processador<br />

<strong>de</strong> vértices, no estágio <strong>de</strong> modificação <strong>de</strong> atributos <strong>de</strong> vértices (estágio 1 da arquitetura segundo as<br />

figuras 5.9 e 5.10).<br />

Na implementação do método <strong>de</strong> ray picking, utilizamos a função D<strong>3D</strong>XIntersect() forne-<br />

cida pela biblioteca D<strong>3D</strong>X da API Direct<strong>3D</strong> [Microsoft, 2006]. Esta função é utilizada para testar<br />

a interseção entre um raio e um mo<strong>de</strong>lo geométrico e retornar atributos geométricos nos pontos <strong>de</strong><br />

interseção. Ao utilizar a biblioteca D<strong>3D</strong>X, as modificações dos atributos dos vértices foram reali-<br />

zadas na CPU. Além disso, não utilizamos modificações <strong>de</strong> atributos <strong>de</strong> fragmentos, pois a função<br />

<strong>de</strong> cálculo <strong>de</strong> interseção do D<strong>3D</strong>X é incapaz <strong>de</strong> trabalhar com <strong>de</strong>formações da geometria em relação<br />

aos fragmentos produzidos na rasterização. Isso ocorre porque os testes <strong>de</strong> interseção são realizados<br />

somente sobre a malha triangular da geometria.<br />

Os mo<strong>de</strong>los utilizados neste teste <strong>de</strong> <strong>de</strong>sempenho foram uma chaleira e uma esfera <strong>de</strong>formadas<br />

por funções senoidais em tempo real e exibidos como listas <strong>de</strong> triângulos não in<strong>de</strong>xados. <strong>Uma</strong> visu-<br />

alização <strong>de</strong>sses mo<strong>de</strong>los com a <strong>de</strong>formação aplicada é mostrada na figura 6.1. A esfera foi composta<br />

<strong>de</strong> 19.802 vértices. A chaleira teve duas versões <strong>de</strong> refinamento <strong>de</strong> malha. A geometria menos refi-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!