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.

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

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

Saved successfully!

Ooh no, something went wrong!