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.
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