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.
22 Revisão bibliográfica<br />
ano para as GPUs [Fernando, 2004], contra um máximo <strong>de</strong> 50% do crescimento anual do <strong>de</strong>sempenho<br />
das CPUs [Dally, 1999]. Contudo, tal evolução tem sido concentrada no melhoramento <strong>de</strong> técnicas<br />
<strong>de</strong> síntese <strong>de</strong> imagens em oposição ao melhoramento <strong>de</strong> técnicas <strong>de</strong> interação <strong>3D</strong>. Do nosso conhe-<br />
cimento, o máximo que se tem feito para se a<strong>de</strong>quar às <strong>de</strong>formações geométricas ocorridas na GPU<br />
é implementar uma cópia das funções <strong>de</strong> <strong>de</strong>formação na CPU e utilizá-las sempre que uma interação<br />
com o mo<strong>de</strong>lo for necessária. Neste trabalho, apresentamos um paradigma inovador que, tirando as<br />
vantagens <strong>de</strong> processamento da GPU, consegue i<strong>de</strong>ntificar os pontos <strong>de</strong> interseção entre um raio <strong>de</strong><br />
seleção e os objetos da cena sem recorrer à replicação das funções <strong>de</strong> <strong>de</strong>formação na CPU.<br />
Para contextualizar melhor a nossa contribuição, apresentamos nesta seção um histórico da evo-<br />
lução do hardware voltado a aceleração <strong>de</strong> técnicas <strong>de</strong> visualização, <strong>de</strong> modo a contrapor com<br />
a evolução das bibliotecas <strong>de</strong> interação por manipulação direta citadas anteriormente. Em espe-<br />
cial, concentramo-nos na evolução dos sistemas compatíveis com as APIs gráficas GL. Isso in-<br />
clui todos os sistemas produzidos pela SGI com fluxo <strong>de</strong> ren<strong>de</strong>rização compatível com APIs como<br />
OpenGL [Shreiner et al., 2005] e Direct<strong>3D</strong> [Microsoft, 2006]. Inclui, também, todas as placas gráficas<br />
utilizadas atualmente em computadores pessoais, e os sistemas compatíveis com as já obsoletas APIs<br />
IrisGL [McLendon, 1992] da SGI e Gli<strong>de</strong> [<strong>3D</strong>fx, 1997] da então <strong>3D</strong>fx Interactive, Inc. Essa linha <strong>de</strong><br />
evolução incorpora mais <strong>de</strong> 20 anos <strong>de</strong> <strong>de</strong>senvolvimento <strong>de</strong> hardware gráfico: <strong>de</strong> 1983 à 2007. Em<br />
particular, dividimos essa cronologia em quatro gerações <strong>de</strong> acordo com o conjunto <strong>de</strong> funcionalida-<br />
<strong>de</strong>s implementadas em comum [Akeley and Hanrahan, 1999]. Historicamente, tais funcionalida<strong>de</strong>s<br />
têm sido <strong>de</strong>finidas conjuntamente pelas indústrias <strong>de</strong> hardware, <strong>de</strong>senvolvedores <strong>de</strong> APIs gráficas e<br />
<strong>de</strong>senvolvedores <strong>de</strong> aplicações, levando em conta a análise <strong>de</strong> custo e <strong>de</strong>manda do mercado. Indi-<br />
retamente, essa evolução reflete também o aprimoramento das GPUs em termos <strong>de</strong> <strong>de</strong>sempenho e<br />
qualida<strong>de</strong> da imagem gerada. Em especial, as quatro gerações são as seguintes:<br />
• Primeira geração. Constituída <strong>de</strong> hardware gráfico capaz <strong>de</strong> realizar apenas transformações<br />
geométricas em vértices e recorte <strong>de</strong> polígonos.<br />
• Segunda geração. Incorpora as características da primeira geração, e inclui a capacida<strong>de</strong> <strong>de</strong><br />
processar uma equação pré-<strong>de</strong>finida <strong>de</strong> iluminação para cada vértice.<br />
• Terceira geração. Incorpora as características das gerações anteriores, e acrescenta funciona-<br />
lida<strong>de</strong>s <strong>de</strong> amostragem <strong>de</strong> texturas.<br />
• Quarta geração. Inaugura a capacida<strong>de</strong> <strong>de</strong> programação dos processadores <strong>de</strong> vértices e frag-<br />
mentos através da API gráfica.