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
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>