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.
2.5 Consi<strong>de</strong>rações finais 39<br />
Fig. 2.7: Atual lacuna na aplicação da GPU para realizar processamento vinculado à interação <strong>3D</strong>.<br />
(0, 0) e (1, 1) indicam a atribuição <strong>de</strong> coor<strong>de</strong>nadas <strong>de</strong> textura nos vértices no quadrilátero.<br />
A CPU po<strong>de</strong> transferir o conteúdo da textura <strong>de</strong> saída para a memória do sistema <strong>de</strong> modo a obter<br />
os resultados. Alternativamente, essa textura <strong>de</strong> saída po<strong>de</strong> ser utilizada como textura <strong>de</strong> entrada em<br />
outro estágio <strong>de</strong> processamento <strong>de</strong> fluxo na GPU.<br />
2.5 Consi<strong>de</strong>rações finais<br />
A flexibilida<strong>de</strong> obtida através das atuais GPUs tem sido largamente utilizada na implementação<br />
<strong>de</strong> técnicas relacionadas à visualização. Isto se <strong>de</strong>ve ao po<strong>de</strong>r computacional das GPUs, o qual é<br />
geralmente muitas vezes superior àquele existente nas CPUs para processamento <strong>de</strong> fluxos <strong>de</strong> dados,<br />
e à capacida<strong>de</strong> <strong>de</strong> realizar o processamento <strong>de</strong> visualização <strong>de</strong> forma paralela ao processamento <strong>de</strong><br />
outras tarefas realizadas na CPU. Por outro lado, o potencial <strong>de</strong> suporte à implementação <strong>de</strong> tarefas <strong>de</strong><br />
interação <strong>3D</strong> pela GPU ainda não é <strong>de</strong>vidamente explorado, seja para realizar interações que levem<br />
em consi<strong>de</strong>ração as modificações <strong>de</strong> geometria realizadas na GPU, seja para tornar tais interações<br />
mais eficientes em comparação com os tradicionais métodos <strong>de</strong> interação baseados em ray picking.<br />
As mais difundidas arquiteturas <strong>de</strong> interface gráfica com suporte a manipulações diretas, tais como<br />
o OpenSceneGraph e OpenSG, utilizam a tradicional técnica <strong>de</strong> ray picking para implementar tarefas<br />
<strong>de</strong> seleção e, portanto, não tratam corretamente mo<strong>de</strong>los cuja geometria tenha sido <strong>de</strong>formada na<br />
GPU. Esta não é uma limitação imposta pelo hardware gráfico, mas uma opção <strong>de</strong> projeto <strong>de</strong>ssas ar-<br />
quiteturas <strong>de</strong> interface gráfica segundo o paradigma da <strong>Arquitetura</strong> Gráfica Unificada, que se mostrou<br />
bem sucedido até o advento do hardware gráfico programável.<br />
Acreditamos que, se <strong>de</strong>vidamente explorada, a GPU po<strong>de</strong> ser utilizada para realizar processa-<br />
mento relacionado a tarefas <strong>de</strong> interação <strong>3D</strong>, preenchendo assim uma atual lacuna relacionada ao uso<br />
da GPU para interação, conforme ilustrado na figura 2.7. É sobre esta hipótese que propomos, nesta<br />
tese, uma arquitetura <strong>de</strong> suporte a tarefas <strong>de</strong> interação <strong>3D</strong> sobre geometria processada nas GPUs.<br />
Na arquitetura <strong>de</strong> interação proposta, a GPU é utilizada como um processador <strong>de</strong> fluxo para re-<br />
alizar tarefas tais como manter em memória <strong>de</strong> textura os atributos dos vértices após as modificação<br />
realizadas no processador <strong>de</strong> vértices, e para calcular elementos <strong>de</strong> geometria diferencial discreta a