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.

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.

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

Saved successfully!

Ooh no, something went wrong!