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.

28 Revisão bibliográfica<br />

ren<strong>de</strong>rizado em tempo real numa GeForce 3. Steve Jobs, então CEO (Chief Executive Officer) da<br />

Apple Computer, Inc. [Apple, 2007], ao se pronunciar a respeito <strong>de</strong>ssa <strong>de</strong>monstração, lembra que<br />

“O que, há 15 anos, levava 55 horas para ren<strong>de</strong>rizar cada segundo <strong>de</strong> animação, é agora feito em<br />

tempo real.” Mais tar<strong>de</strong>, as potencialida<strong>de</strong>s <strong>de</strong> uma GPU programável similar, a NVIDIA Quadro<br />

DCC, são exibidas durante uma <strong>de</strong>monstração <strong>de</strong> tecnologia na conferência SIGGRAPH 2001. Em<br />

particular, é exibida uma versão interativa do filme Final Fantasy, da Square Enix Co., Ltd., também<br />

em tempo real. De acordo com informações do fabricante do hardware, cerca <strong>de</strong> 1,5 milhões <strong>de</strong> vér-<br />

tices são processados a cada segundo para ren<strong>de</strong>rizar apenas os cabelos <strong>de</strong> um dos mo<strong>de</strong>los humanos<br />

mostrados nessa <strong>de</strong>monstração. O fabricante também <strong>de</strong>staca que o <strong>de</strong>sempenho das operações em<br />

números <strong>de</strong> ponto flutuante utilizados para <strong>de</strong>senhar apenas um quadro <strong>de</strong>ste filme é superior ao po<strong>de</strong>r<br />

computacional total <strong>de</strong> um supercomputador Cray naquele momento. Por outro lado, a exibição dos<br />

efeitos utilizados nesses filmes não teria sido possível sem a capacida<strong>de</strong> <strong>de</strong> programação <strong>de</strong> vértices<br />

e fragmentos.<br />

Os programas executados pelos processadores das placas gráficas são comumente chamados <strong>de</strong><br />

sha<strong>de</strong>rs. Este termo foi introduzido por Cook [1984] para <strong>de</strong>signar um conjunto <strong>de</strong> procedimentos<br />

<strong>de</strong> modificações <strong>de</strong> proprieda<strong>de</strong>s <strong>de</strong> geometria e fragmentos para simulação <strong>de</strong> diferentes materiais<br />

em síntese <strong>de</strong> imagens, e foi difundido especialmente no Ren<strong>de</strong>rMan [Hanrahan and Lawson, 1990].<br />

O Ren<strong>de</strong>rMan é uma especificação técnica <strong>de</strong> interface entre aplicativos <strong>de</strong> mo<strong>de</strong>lagem geométrica<br />

e ren<strong>de</strong>rização fotorealista, capaz <strong>de</strong> <strong>de</strong>screver completamente uma cena <strong>3D</strong>, incluindo a posição<br />

das fontes <strong>de</strong> luz, câmeras, geometria dos objetos e procedimentos <strong>de</strong> sombreamento e iluminação<br />

<strong>de</strong>finidos pela aplicação. Tal especificação permite que uma implementação particular do Ren<strong>de</strong>rMan<br />

possa ren<strong>de</strong>rizar uma geometria <strong>de</strong> forma consistente <strong>de</strong> acordo com as proprieda<strong>de</strong>s dos materiais<br />

<strong>de</strong>scritas pelo artista gráfico.<br />

A interpretação dos sha<strong>de</strong>rs do Ren<strong>de</strong>rMan como programas modificadores <strong>de</strong> geometria e frag-<br />

mentos é estendida naturalmente aos programas que po<strong>de</strong>m ser executados nos processadores das<br />

GPUs <strong>de</strong> hardware gráfico <strong>de</strong> quarta geração. Assim, os nomes vertex sha<strong>de</strong>r e fragment/pixel sha<strong>de</strong>r<br />

são usualmente utilizados para <strong>de</strong>signar os programas executados pelos processadores <strong>de</strong> vértices e<br />

fragmentos das atuais GPUs. De uma maneira muito parecida com a capacida<strong>de</strong> <strong>de</strong> programação do<br />

Ren<strong>de</strong>rMan, a aplicação po<strong>de</strong> implementar suas próprias equações <strong>de</strong> iluminação, procedimentos <strong>de</strong><br />

transformação geométrica e <strong>de</strong>scrição <strong>de</strong> materiais. De fato, um dos objetivos <strong>de</strong>ssa nova geração <strong>de</strong><br />

hardware gráfico é atingir a mesma flexibilida<strong>de</strong> dos sha<strong>de</strong>rs do Ren<strong>de</strong>rMan, porém com <strong>de</strong>sempenho<br />

suficiente para aplicações em tempo real.<br />

Além da programação <strong>de</strong> sha<strong>de</strong>rs, outras características ainda estão sendo <strong>de</strong>senvolvidas e apri-<br />

moradas nesta quarta geração <strong>de</strong> hardware gráfico. Estas incluem a manipulação <strong>de</strong> superfícies cur-<br />

vas (Bézier e NURBS), mapeamento <strong>de</strong> sombras em hardware, alvos <strong>de</strong> ren<strong>de</strong>rização com formato <strong>de</strong>

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

Saved successfully!

Ooh no, something went wrong!