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.

98 <strong>Arquitetura</strong> <strong>de</strong> interação<br />

do buffer <strong>de</strong> ren<strong>de</strong>rização é geralmente <strong>de</strong>sprezível (atributos <strong>de</strong> apenas um pixel para a maioria<br />

das tarefas <strong>de</strong> interação), e o impacto da sincronização po<strong>de</strong> ser reduzido, embora não elimi-<br />

nado, através da diminuição <strong>de</strong> freqüência <strong>de</strong> leitura dos atributos do frame buffer, sem prejuízo<br />

à sensação <strong>de</strong> continuida<strong>de</strong> da interação. Segundo Olsen [1998], a taxa mínima <strong>de</strong> atualização<br />

nesses casos po<strong>de</strong> ser <strong>de</strong> apenas 5 FPS (Frames Per Second - Quadros Por Segundo), ainda que<br />

a taxa <strong>de</strong> visualização mínima esteja situada entre 20 e 30 FPS.<br />

• Robustez. A arquitetura <strong>de</strong>ve empregar técnicas acuradas <strong>de</strong> estimativa das proprieda<strong>de</strong>s <strong>de</strong><br />

geometria diferencial <strong>de</strong> representações <strong>de</strong> superfícies suaves por malhas triangulares, uma vez<br />

que esses resultados serão utilizados para realizar as tarefas <strong>de</strong> seleção e posicionamento com<br />

restrições.<br />

<strong>Uma</strong> vez que consi<strong>de</strong>ramos o uso da GPU para realizar as estimativas das proprieda<strong>de</strong>s geo-<br />

métricas, tais atributos po<strong>de</strong>rão ser processados com uma precisão numérica correspon<strong>de</strong>nte às<br />

diferentes opções <strong>de</strong> precisão dos registradores (e.g., 16 ou 32 bits), e segundo os formatos dos<br />

buffers <strong>de</strong> ren<strong>de</strong>rização suportados. Atualmente, a precisão máxima obtida em tais buffers é<br />

<strong>de</strong> 32 bits por componente <strong>de</strong> cor, <strong>de</strong> modo que, mesmo que o processamento seja feito em 64<br />

bits, o atributo final tem a precisão reduzida a 32 bits. As atuais especificações dos mo<strong>de</strong>los<br />

<strong>de</strong> sha<strong>de</strong>rs também consi<strong>de</strong>ram a possibilida<strong>de</strong> do uso <strong>de</strong> valores <strong>de</strong> ponto flutuante <strong>de</strong> 16 ou<br />

64 bits. Entretanto, o suporte nativo a ponto flutuante com tais precisões não é encontrado em<br />

todas as GPUs. Neste caso, porém, é possível simular o comportamento usando ponto flutuante<br />

<strong>de</strong> 32 bits [Microsoft, 2006]. Infelizmente, na prática ainda não existe um consenso a esse<br />

respeito e algumas arquiteturas po<strong>de</strong>m realizar todo o processamento com precisão até mesmo<br />

<strong>de</strong> 24 bits.<br />

<strong>Uma</strong> vez que consi<strong>de</strong>ramos que o usuário está interagindo com aquilo que ele está vendo, a<br />

precisão espacial po<strong>de</strong> ser <strong>de</strong>terminada pela resolução da própria imagem visualizada, i.e., pelo<br />

espaço discreto <strong>de</strong> pixels na tela. Desse modo, a precisão espacial está diretamente associada<br />

à resolução e à qualida<strong>de</strong> da imagem visualizada pelo usuário, o que é razoável segundo o<br />

pressuposto <strong>de</strong> que o usuário espera interagir com aquilo que ele vê.<br />

• Reusabilida<strong>de</strong>. O critério <strong>de</strong> reusabilida<strong>de</strong> está relacionado à facilida<strong>de</strong> <strong>de</strong> uso e adaptação da<br />

arquitetura, <strong>de</strong> modo que diferentes tarefas <strong>de</strong> interação <strong>de</strong> manipulação direta <strong>3D</strong> po<strong>de</strong>m ser<br />

implementadas sem a necessida<strong>de</strong> <strong>de</strong> reimplementação <strong>de</strong> algoritmos <strong>de</strong> ray picking específicos<br />

para os diferentes mo<strong>de</strong>los tratados. Refere-se ainda à característica <strong>de</strong> minimizar a necessida<strong>de</strong><br />

<strong>de</strong> duplicação <strong>de</strong> código <strong>de</strong> modificação da geometria na CPU e GPU, seja para funções <strong>de</strong><br />

<strong>de</strong>formação <strong>de</strong> vértices como para funções <strong>de</strong> <strong>de</strong>formação <strong>de</strong> fragmentos. Indiretamente, o<br />

preenchimento do critério <strong>de</strong> generalida<strong>de</strong> está relacionado ao critério <strong>de</strong> reusabilida<strong>de</strong>: uma

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

Saved successfully!

Ooh no, something went wrong!