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.

6 Introdução<br />

Fig. 1.4: Deformação <strong>de</strong> fragmentos na GPU usando a técnica <strong>de</strong> relief mapping. Esquerda: geometria<br />

original submetida pela CPU, em wireframe. Direita: imagem obtida após processamento na<br />

GPU.<br />

samento <strong>de</strong> <strong>de</strong>formação é realizado duas vezes, exigindo duplicação <strong>de</strong> código. Além disso, requer a<br />

manutenção dos dados da geometria original na memória do sistema, gerando duplicação <strong>de</strong> dados.<br />

É cada vez mais comum o uso <strong>de</strong> técnicas <strong>de</strong> mapeamento <strong>de</strong> <strong>de</strong>talhes <strong>3D</strong> para aumentar <strong>de</strong><br />

forma eficiente o aparente nível <strong>de</strong> <strong>de</strong>talhes dos mo<strong>de</strong>los geométricos. Nessas técnicas, mo<strong>de</strong>los sim-<br />

ples compostos a partir <strong>de</strong> apenas um triângulo po<strong>de</strong>m simular a aparência <strong>de</strong> geometrias complexas<br />

compostas <strong>de</strong> vários milhões <strong>de</strong> triângulos. Isso é obtido através da modificação dos fragmentos <strong>de</strong><br />

pixels gerados pelo rasterizador, em oposição à modificação ou adição <strong>de</strong> vértices. Técnicas como<br />

normal mapping [Krishnamurthy and Levoy, 1996], parallax occlusion mapping [Tatarchuk, 2006]<br />

e relief mapping [Policarpo et al., 2005] modificam os atributos <strong>de</strong> cada fragmento no processador<br />

<strong>de</strong> fragmentos e, <strong>de</strong>pen<strong>de</strong>ndo da sofisticação <strong>de</strong> cada técnica, po<strong>de</strong>m gerar <strong>de</strong>talhes <strong>3D</strong> com para-<br />

laxe, oclusão e silhuetas corretas. O resultado visual geralmente aparenta ser muito mais complexo e<br />

diverso da geometria original submetida à GPU pela CPU (Figura 1.4).<br />

Da mesma forma que na <strong>de</strong>formação com base nos vértices citada anteriormente, se o processa-<br />

mento <strong>de</strong> interação é realizado com o mo<strong>de</strong>lo original na CPU, as modificações dos fragmentos não<br />

serão levadas em conta, novamente gerando inconsistências. Transformações <strong>de</strong>correntes do mapea-<br />

mento <strong>de</strong> <strong>de</strong>talhes também po<strong>de</strong>riam ser simuladas no mo<strong>de</strong>lo armazenado na memória do sistema.<br />

Porém, nesse caso seria necessário simular na CPU todo o fluxo <strong>de</strong> processamento <strong>de</strong> fragmentos<br />

da GPU, o que é impraticável como solução eficiente para o problema exposto, além <strong>de</strong> anular os<br />

benefícios do uso da GPU para processamento paralelo, como já citado para o caso da modificação<br />

<strong>de</strong> atributos dos vértices.

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

Saved successfully!

Ooh no, something went wrong!