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
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
24 Revisão bibliográfica<br />
2.3.3 Terceira geração: texturização<br />
Em 1992, é lançado pela SGI o OpenGL: uma especificação <strong>de</strong> interface <strong>de</strong> software com o<br />
hardware gráfico. Construída como um aprimoramento do IrisGL (API utilizada nos sistemas SGI <strong>de</strong><br />
gerações anteriores), o OpenGL tornou-se a API padrão <strong>de</strong> indústria <strong>de</strong>s<strong>de</strong> então, tendo sido mantida<br />
e atualizada por um comitê in<strong>de</strong>pen<strong>de</strong>nte <strong>de</strong> indústrias <strong>de</strong> hardware e software da área: o comitê<br />
ARB - Architecture Review Board. Em setembro <strong>de</strong> 2006 o comitê ARB foi dissolvido, e o controle<br />
do OpenGL passou a ser realizado por um grupo <strong>de</strong> trabalho da Khronos [Khronos, 2007] - um comitê<br />
formado por mais <strong>de</strong> 100 indústrias relacionadas a ativida<strong>de</strong>s <strong>de</strong> autoria e aceleração <strong>de</strong> mídia, com<br />
o objetivo <strong>de</strong> <strong>de</strong>finir APIs padrões <strong>de</strong> indústria e <strong>de</strong> uso livre.<br />
No início da década <strong>de</strong> 1990, as estações <strong>de</strong> alto <strong>de</strong>sempenho suportavam apenas um número<br />
reduzido <strong>de</strong> características do OpenGL, sendo o restante simulado em software pela própria API. O<br />
sistema RealityEngine [Akeley, 1993], lançado em 1992 com um custo aproximado <strong>de</strong> 1 milhão <strong>de</strong><br />
dólares, marcou o início <strong>de</strong>ssa terceira geração como o primeiro hardware gráfico capaz <strong>de</strong> fornecer<br />
aceleração <strong>de</strong> hardware para todas as etapas <strong>de</strong> processamento <strong>de</strong> ren<strong>de</strong>rização especificadas pelo<br />
OpenGL 1.0, em especial o suporte a texturização usando texturas 2D com mip-mapping e suporte a<br />
texturas <strong>3D</strong>. Em sua primeira versão, o RealityEngine era capaz <strong>de</strong> processar cerca <strong>de</strong> 6 milhões <strong>de</strong><br />
vértices por segundo e 380 milhões <strong>de</strong> pixels por segundo.<br />
A terceira geração <strong>de</strong> hardware gráfico perdurou até 2000 quando surgiram os processadores grá-<br />
ficos programáveis em computadores pessoais. Antes disso, porém, no período relativamente curto <strong>de</strong><br />
1995 à 2000, as placas gráficas <strong>de</strong> computadores pessoais evoluíram <strong>de</strong> GPUs inferiores aos sistemas<br />
SGI <strong>de</strong> primeira geração para alcançarem o mesmo nível <strong>de</strong> <strong>de</strong>sempenho e características disponíveis<br />
anteriormente apenas em estações SGI <strong>de</strong> alto <strong>de</strong>sempenho e custo elevado. Além disso, o surgimento<br />
<strong>de</strong> novas funcionalida<strong>de</strong>s em hardware gráfico para PCs ocorreu em or<strong>de</strong>m diversa daquela observada<br />
nas estações SGI. Enquanto os primeiros sistemas SGI já eram equipados com fluxos completos <strong>de</strong><br />
transformação <strong>de</strong> vértices, porém sem qualquer suporte à texturização, as antigas GPUs para PCs,<br />
produzidas simultaneamente pela S3 Graphics Co., Ltd. [S3, 2007], Matrox Graphics, Inc. [Matrox,<br />
2007] e NVIDIA Corporation [NVIDIA, 2007b], eram equipadas com funcionalida<strong>de</strong>s <strong>de</strong> texturi-<br />
zação, porém sem transformação <strong>de</strong> geometria ou processamento <strong>de</strong> iluminação <strong>de</strong> vértices. Eram<br />
capazes <strong>de</strong> realizar apenas varredura <strong>de</strong> linhas não texturizadas e, em alguns casos, tinham <strong>de</strong>sem-<br />
penho até mesmo inferior ao código <strong>de</strong> máquina otimizado na CPU. Além disso, sofriam seriamente<br />
<strong>de</strong> falta <strong>de</strong> suporte a<strong>de</strong>quado <strong>de</strong> APIs. Nesse período, a arquitetura <strong>de</strong> tais placas era incompatível<br />
com aquela sobre a qual o OpenGL foi projetado.<br />
As GPUs, que ganharam popularida<strong>de</strong> no mercado <strong>de</strong> PCs, foram as placas da série Voodoo,<br />
lançadas a partir <strong>de</strong> 1996 pela <strong>3D</strong>fx. As primeiras placas Voodoo eram capazes <strong>de</strong> exibir triângu-<br />
los texturizados com mip-mapping e filtragem bilinear. Entretanto, o hardware ainda <strong>de</strong>pendia da