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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.3 Codificação <strong>de</strong> atributos no domínio da imagem 101<br />

A arquitetura utiliza quaisquer primitivas suportadas pelo hardware gráfico atual. Assim, as pos-<br />

síveis representações <strong>de</strong> superfícies incluem malhas triangulares, primitivas baseadas em pontos e<br />

voxels, <strong>de</strong>s<strong>de</strong> que tais representações sejam construídas com base nas primitivas suportadas em hard-<br />

ware. Por outro lado, o cálculo <strong>de</strong> proprieda<strong>de</strong>s <strong>de</strong> geometria diferencial discreta é realizado apenas<br />

sobre vértices, sejam eles <strong>de</strong> primitivas baseadas em pontos ou malhas triangulares. Para que a ar-<br />

quitetura <strong>de</strong> interação possa extrair relações <strong>de</strong> adjacência necessárias para o cálculo <strong>de</strong> proprieda<strong>de</strong>s<br />

<strong>de</strong> geometria diferencial, a geometria enviada à arquitetura <strong>de</strong>ve ser apresentada na forma <strong>de</strong> um<br />

buffer <strong>de</strong> vértices e um buffer <strong>de</strong> índices <strong>de</strong> modo a formar uma malha triangular ou nuvem <strong>de</strong> pon-<br />

tos.<br />

Técnicas <strong>de</strong> mapeamento <strong>de</strong> <strong>de</strong>talhes <strong>3D</strong> são suportadas <strong>de</strong>s<strong>de</strong> que sejam construídas sobre mo-<br />

<strong>de</strong>los criados com as primitivas citadas. <strong>Uma</strong> vez que a estimativa das proprieda<strong>de</strong>s <strong>de</strong> geometria<br />

diferencial é realizada apenas com relação aos vértices, a técnica <strong>de</strong> mapeamento <strong>de</strong> <strong>de</strong>talhes torna-<br />

se responsável pela atualização <strong>de</strong>sses atributos caso eles sejam modificados durante a aplicação do<br />

<strong>de</strong>talhe.<br />

A <strong>de</strong>finição <strong>de</strong> atributos relativos às faces ou arestas só po<strong>de</strong> ser feita através da atribuição <strong>de</strong><br />

atributos dos vértices que compõem essas primitivas. Por exemplo, i<strong>de</strong>ntificadores <strong>de</strong> faces <strong>de</strong>vem<br />

ser adicionados como atributos dos vértices que compõem cada face. Entretanto, a i<strong>de</strong>ntificação <strong>de</strong><br />

faces e arestas não po<strong>de</strong> ser feita com geometria in<strong>de</strong>xada na qual um único vértice é compartilhado<br />

por mais <strong>de</strong> uma face ou aresta. Em tais casos, a aplicação <strong>de</strong>ve fornecer uma geometria na qual<br />

os vértices coinci<strong>de</strong>ntes sejam repetidos. Assim, embora coinci<strong>de</strong>ntes na posição, seus atributos <strong>de</strong><br />

i<strong>de</strong>ntificação <strong>de</strong> face po<strong>de</strong>m ser diferentes. A arquitetura consi<strong>de</strong>ra esse tipo <strong>de</strong> geometria como<br />

geometria não in<strong>de</strong>xada.<br />

5.3 Codificação <strong>de</strong> atributos no domínio da imagem<br />

A idéia básica da arquitetura proposta consiste em utilizar o fluxo <strong>de</strong> visualização já existente da<br />

atual arquitetura <strong>de</strong> hardware gráfico programável (figura 2.3) para processar atributos geométricos e<br />

não geométricos dos mo<strong>de</strong>los ren<strong>de</strong>rizados. Tais atributos po<strong>de</strong>m ser calculados para todos os pixels<br />

do mo<strong>de</strong>lo ren<strong>de</strong>rizado e armazenados no espaço discreto da tela em buffers <strong>de</strong> ren<strong>de</strong>rização não<br />

visíveis. Assim, cada pixel <strong>de</strong> um buffer <strong>de</strong> ren<strong>de</strong>rização não visível po<strong>de</strong> conter um valor que indica,<br />

por exemplo, o vetor normal da superfície naquele ponto, ou o i<strong>de</strong>ntificador do objeto geométrico<br />

que contém o pixel. A arquitetura disponibiliza esses atributos à CPU para que eles sejam utilizados<br />

posteriormente na aplicação. Isto possibilita a implementação <strong>de</strong> tarefas eficientes <strong>de</strong> manipulação<br />

direta <strong>3D</strong> que satisfaçam a consistência com o pressuposto <strong>de</strong> que o usuário espera interagir com o<br />

que ele está efetivamente visualizando.

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

Saved successfully!

Ooh no, something went wrong!