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.

5.1 Requisitos 97<br />

durante o processamento realizado no fluxo <strong>de</strong> ren<strong>de</strong>rização. I<strong>de</strong>almente, <strong>de</strong>vem ser consi<strong>de</strong>-<br />

radas <strong>de</strong>formações com relação aos vértices e com relação aos fragmentos produzidos durante<br />

a rasterização. Em razão da complexida<strong>de</strong> envolvida no tratamento <strong>de</strong> geometria que sofreu<br />

<strong>de</strong>formações com relação aos seus fragmentos, restringimos o escopo da arquitetura <strong>de</strong> modo a<br />

tratar, <strong>de</strong> forma transparente à aplicação, somente <strong>de</strong>formações arbitrárias dos vértices. Para a<br />

modificação <strong>de</strong> atributos <strong>de</strong> fragmentos, a arquitetura possibilita que a aplicação forneça seus<br />

próprios procedimentos <strong>de</strong> tratamento <strong>de</strong> tais modificações.<br />

Diferentes tipos <strong>de</strong> atributos geométricos <strong>de</strong>vem ser calculados na GPU para representações <strong>de</strong><br />

superfícies suaves por malhas triangulares <strong>de</strong> modo a tornar possível a realização <strong>de</strong> um mapea-<br />

mento entre os pontos da superfície ren<strong>de</strong>rizada na tela e os pontos da superfície original (i.e.,<br />

antes das <strong>de</strong>formações na GPU), ou ainda a reconstrução, na CPU, da geometria <strong>de</strong>formada a<br />

partir da obtenção <strong>de</strong> proprieda<strong>de</strong>s <strong>de</strong> geometria diferencial dos pontos da superfície amostra-<br />

dos durante a ren<strong>de</strong>rização. A arquitetura também <strong>de</strong>ve permitir que a aplicação escolha essas<br />

proprieda<strong>de</strong>s a partir <strong>de</strong> uma paleta <strong>de</strong> atributos geométricos calculados na GPU, e possibilitar<br />

a adição <strong>de</strong> novos atributos com semântica <strong>de</strong>finida pela aplicação.<br />

• Eficiência. A integração da arquitetura <strong>de</strong> interação com a atual arquitetura <strong>de</strong> hardware grá-<br />

fico <strong>de</strong>ve herdar as vantagens provenientes do uso da GPU como um processador <strong>de</strong> fluxo <strong>de</strong><br />

propósito geral: alto po<strong>de</strong>r computacional e processamento assíncrono com relação à CPU.<br />

Para isso, o processamento associado à estimativa das proprieda<strong>de</strong>s <strong>de</strong> geometria diferencial<br />

<strong>de</strong>ve ser realizado completamente na GPU usando a geometria armazenada na memória <strong>de</strong><br />

ví<strong>de</strong>o local. Tal estimativa exige o acesso a informações <strong>de</strong> conectivida<strong>de</strong> da malha triangu-<br />

lar, informações essas que geralmente não são fornecidas automaticamente pelas atuais GPUs<br />

(GPUs compatíveis com o mo<strong>de</strong>lo <strong>de</strong> sha<strong>de</strong>r 4.0 suportam tal acesso, mas ainda <strong>de</strong> forma limi-<br />

tada). Para contornar essa limitação, tanto os atributos geométricos como atributos topológicos<br />

<strong>de</strong>vem ser armazenados na memória <strong>de</strong> ví<strong>de</strong>o, organizadas como texturas em formato <strong>de</strong> ponto<br />

flutuante. Neste caso, as texturas são utilizadas como áreas <strong>de</strong> memória genérica, e contêm<br />

dados como a posição dos vértices, vetor normal e índices <strong>de</strong> vértices adjacentes.<br />

A obtenção dos resultados do processamento <strong>de</strong> atributos na GPU requer transferências <strong>de</strong><br />

dados entre a GPU e a CPU através do barramento AGP (Advanced Graphics Port) ou PCI (Pe-<br />

ripheral Component Interconnect) Express. Essa transferência po<strong>de</strong> ser ineficiente caso uma<br />

gran<strong>de</strong> quantida<strong>de</strong> <strong>de</strong> dados precise ser transferida a cada quadro <strong>de</strong> exibição. Além disso, re-<br />

quer a sincronização <strong>de</strong> processamento entre as duas unida<strong>de</strong>s <strong>de</strong> processamento, o que reduz<br />

o <strong>de</strong>sempenho associado ao processamento paralelo. Supomos que, em nossa arquitetura, essa<br />

característica não representa um problema significativo, porquanto a quantida<strong>de</strong> <strong>de</strong> pixels lidos

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

Saved successfully!

Ooh no, something went wrong!