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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2 Introdução<br />

utilizadas consistem em apenas reproduzir todo o processamento da geometria na CPU.<br />

Esta tese procura reduzir essa lacuna existente entre o uso <strong>de</strong> técnicas <strong>de</strong> interação e o uso <strong>de</strong><br />

técnicas <strong>de</strong> animação, mo<strong>de</strong>lagem e visualização aceleradas por GPUs. Em especial, propomos uma<br />

solução eficiente e geral para o problema <strong>de</strong> manipulação direta <strong>3D</strong> em geometria modificada em<br />

processadores <strong>de</strong> vértices do hardware gráfico, mas que também fornece suporte básico a geome-<br />

tria modificada em processadores <strong>de</strong> fragmentos. Nossa proposta está baseada na hipótese <strong>de</strong> que é<br />

possível calcular na própria GPU um conjunto mínimo <strong>de</strong> atributos geométricos necessários e sufi-<br />

cientes para tarefas <strong>de</strong> manipulação direta baseadas no uso <strong>de</strong> seleção e posicionamento através <strong>de</strong><br />

dispositivos apontadores 2D, e tornar esses atributos disponíveis à aplicação sem requerer que a ge-<br />

ometria <strong>de</strong>formada esteja necessariamente armazenada em um banco <strong>de</strong> dados da cena na memória<br />

do sistema.<br />

O restante <strong>de</strong>ste capítulo está organizado da seguinte forma: A seção 1.1 apresenta as principais<br />

motivações para a realização <strong>de</strong>ste trabalho. A seção 1.2 apresenta as hipóteses sobre as quais cons-<br />

truímos uma proposta <strong>de</strong> resolução dos problemas que nos motivaram, e um resumo das principais<br />

contribuições <strong>de</strong>rivadas <strong>de</strong>ssa proposta. O capítulo é concluído na seção 1.3 com a apresentação da<br />

organização da tese.<br />

1.1 Motivação<br />

O mais recente impacto gerado pelo uso <strong>de</strong> hardware gráfico nas diversas áreas da Computação<br />

Gráfica se <strong>de</strong>ve fundamentalmente ao advento <strong>de</strong> GPUs programáveis. Em geral, este tipo <strong>de</strong> hard-<br />

ware é composto <strong>de</strong> dois processadores programáveis: um processador <strong>de</strong> vértices, para o processa-<br />

mento <strong>de</strong> dados vetoriais, e um processador <strong>de</strong> fragmentos, para o processamento <strong>de</strong> dados raster.<br />

Para a mais recente geração <strong>de</strong> placas gráficas compatíveis com Direct<strong>3D</strong> 10 [Blythe, 2006], um “pro-<br />

cessador <strong>de</strong> geometria” (geometry processor) é acrescentado, e possibilita o acesso a informações<br />

sobre uma primitiva completa, tais como topologia e atributos <strong>de</strong> todos os seus vértices. Em comum,<br />

os processadores <strong>de</strong> vértices, <strong>de</strong> geometria e <strong>de</strong> fragmentos trabalham em fluxos <strong>de</strong> processamento<br />

paralelo interno e <strong>de</strong> forma assíncrona em relação à CPU.<br />

Em hardware gráfico atual, é comum a existência <strong>de</strong> arquiteturas capazes <strong>de</strong> processar centenas <strong>de</strong><br />

pixels <strong>de</strong> forma simultânea no processador <strong>de</strong> fragmentos [Kilgariff and Fernando, 2005]. Em razão<br />

<strong>de</strong>sse paralelismo, e aliado ao po<strong>de</strong>r computacional e flexibilida<strong>de</strong> do conjunto <strong>de</strong> instruções para<br />

programação dos processadores, o hardware gráfico atual tem sido utilizado como um processador<br />

<strong>de</strong> fluxo <strong>de</strong> propósito geral, i.e., não necessariamente relacionado à síntese <strong>de</strong> imagens ou até mesmo<br />

aos problemas tratados em Computação Gráfica. Por exemplo, em um projeto sobre a implementação<br />

<strong>de</strong> um algoritmo <strong>de</strong> or<strong>de</strong>nação bitônica na GPU, Govindaraju et al. [Govindaraju et al., 2003] cons-

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

Saved successfully!

Ooh no, something went wrong!