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
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Capítulo 4<br />
Cálculo <strong>de</strong> elementos <strong>de</strong> geometria<br />
diferencial discreta na GPU<br />
<strong>Uma</strong> vez que consi<strong>de</strong>ramos a possibilida<strong>de</strong> do uso <strong>de</strong> técnicas <strong>de</strong> animação e mo<strong>de</strong>lagem ge-<br />
ométrica na GPU capazes <strong>de</strong> <strong>de</strong>formar a geometria original submetida pela CPU, precisamos levar<br />
em conta a presença <strong>de</strong> tais modificações ao utilizar como atributos <strong>de</strong> interação as proprieda<strong>de</strong>s <strong>de</strong><br />
geometria diferencial <strong>de</strong>sses mo<strong>de</strong>los. O motivo <strong>de</strong>ssa preocupação torna-se evi<strong>de</strong>nte ao observarmos<br />
os efeitos do cálculo <strong>de</strong> iluminação em geometria <strong>de</strong>formada na GPU. Nas técnicas <strong>de</strong> mapeamento<br />
<strong>de</strong> <strong>de</strong>talhes <strong>3D</strong>, as bases tangentes (vetor normal, vetor tangente e bitangente) associadas a cada vér-<br />
tice precisam ser atualizadas <strong>de</strong> acordo com as <strong>de</strong>formações <strong>de</strong> modo a realizar cálculos corretos <strong>de</strong><br />
iluminação. A figura 4.1 ilustra isso numa esfera texturizada com normal mapping e iluminada com<br />
sombreamento Phong, mas ao mesmo tempo <strong>de</strong>formada no processador <strong>de</strong> vértices por uma função<br />
<strong>de</strong> <strong>de</strong>slocamento da posição <strong>de</strong> cada vértice ao longo <strong>de</strong> sua normal, baseada no algoritmo <strong>de</strong> ruído<br />
<strong>de</strong> Perlin [Perlin, 1985]. No quadro da esquerda, a esfera é iluminada sem que sejam consi<strong>de</strong>radas<br />
as bases tangentes atualizadas <strong>de</strong> acordo com a <strong>de</strong>formação. Em outras palavras, as bases são as<br />
mesmas da esfera não <strong>de</strong>formada, mostrada no <strong>de</strong>talhe. Observe que a iluminação neste caso, tanto<br />
nos polígonos como fragmentos da esfera após o mapeamento <strong>de</strong> <strong>de</strong>talhes, é a mesma da esfera não<br />
<strong>de</strong>formada. As áreas <strong>de</strong> luz especular não são modificadas e as ondulações na superfície não são<br />
percebidas corretamente. No quadro da direita, a esfera é iluminada corretamente consi<strong>de</strong>rando as<br />
proprieda<strong>de</strong>s <strong>de</strong> geometria diferencial atualizadas após as <strong>de</strong>formações. Transpondo isso para o con-<br />
texto <strong>de</strong> manipulações diretas <strong>3D</strong>, é razoável consi<strong>de</strong>rar que, da mesma forma que se espera que a<br />
iluminação do mo<strong>de</strong>lo consi<strong>de</strong>re as <strong>de</strong>formações da geometria na GPU, o usuário também espera<br />
que um cursor com movimento restrito à superfície acompanhe a geometria visualizada, i.e., a esfera<br />
<strong>de</strong>formada.<br />
Em geral, a atualização <strong>de</strong> proprieda<strong>de</strong>s tais como vetor normal e vetores tangentes após as <strong>de</strong>-<br />
61