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
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
96 <strong>Arquitetura</strong> <strong>de</strong> interação<br />
WYSIWYG está relacionado ao modo como o usuário espera acessar o conteúdo <strong>de</strong> interesse da<br />
forma como ele está sendo apresentado visualmente. Particularmente para interação com mo<strong>de</strong>los<br />
geométricos processados em hardware gráfico programável, é necessário levar em consi<strong>de</strong>ração a<br />
possível existência <strong>de</strong> modificações dos atributos dos vértices e fragmentos – modificações essas que<br />
não são propagadas ao mo<strong>de</strong>lo original submetido à GPU pela CPU, mas que po<strong>de</strong>m alterar <strong>de</strong> forma<br />
significativa a aparência do mo<strong>de</strong>lo visualizado. Ainda assim, a arquitetura <strong>de</strong>ve ser capaz <strong>de</strong> prover<br />
funcionalida<strong>de</strong>s <strong>de</strong> interação com essa nova geometria através do cálculo dos atributos geométricos<br />
necessários para as tarefas básicas <strong>de</strong> manipulação direta <strong>3D</strong> usando dispositivos apontadores 2D.<br />
Este caso po<strong>de</strong> requerer um <strong>de</strong>sacoplamento completo do processamento da CPU à GPU para calcular<br />
atributos da geometria para interação, <strong>de</strong>sacoplamento este limitado apenas pela <strong>de</strong>pendência da CPU<br />
em tratar eventos do sistema <strong>de</strong> janelas e gerenciar a entrada e saída da GPU.<br />
O restante <strong>de</strong>ste capítulo está organizado da seguinte forma. Na seção 5.1 apresentamos os requi-<br />
sitos nos quais nos baseamos para propor a arquitetura. Na seção 5.2 situamos o escopo da arquitetura<br />
segundo uma classificação das camadas principais <strong>de</strong> abstração das componentes que formam uma<br />
interface gráfica. A idéia básica <strong>de</strong> armazenar atributos geométricos e não geométricos para cada<br />
pixel da imagem é <strong>de</strong>talhada na seção 5.3. O fluxo <strong>de</strong> processamento da arquitetura é mostrado na<br />
seção 5.4, juntamente com a especificação das interfaces <strong>de</strong> entrada e saída. O procedimento <strong>de</strong> uso<br />
<strong>de</strong>ssa especificação, junto com um exemplo <strong>de</strong> aplicação, também é apresentado na seção 5.5.<br />
5.1 Requisitos<br />
Os requisitos nos quais nos baseamos para propor esta arquitetura são fundamentados na neces-<br />
sida<strong>de</strong> <strong>de</strong> fazer com que o <strong>de</strong>senvolvedor <strong>de</strong> interfaces gráficas tenha meios <strong>de</strong> implementar rapida-<br />
mente tarefas <strong>de</strong> manipulação direta <strong>3D</strong> sobre geometria processada pelas atuais GPUs, sem contudo<br />
impor restrições quanto ao uso do sistema <strong>de</strong> janelas ou sistema <strong>de</strong> gerenciamento <strong>de</strong> interfaces grá-<br />
ficas utilizado. Dessa forma, o uso da arquitetura é voltado ao <strong>de</strong>senvolvedor <strong>de</strong>ssas aplicações <strong>de</strong><br />
interfaces gráficas. Os requisitos para tornar isso possível são os seguintes:<br />
• Generalida<strong>de</strong>. O requisito <strong>de</strong> generalida<strong>de</strong> é aplicado tanto aos tipos <strong>de</strong> modificações que<br />
os mo<strong>de</strong>los po<strong>de</strong>m sofrer no hardware gráfico, quanto aos tipos <strong>de</strong> primitivas com os quais a<br />
manipulação direta é realizada, e os atributos geométricos ou não geométricos que po<strong>de</strong>m ser<br />
obtidos <strong>de</strong>sses mo<strong>de</strong>los.<br />
A arquitetura proposta <strong>de</strong>ve ser capaz <strong>de</strong> trabalhar, <strong>de</strong> forma transparente ao <strong>de</strong>senvolvedor<br />
das tarefas <strong>de</strong> interação, com todas as primitivas suportados pela atual arquitetura <strong>de</strong> hardware<br />
gráfico. Além disso, <strong>de</strong>ve consi<strong>de</strong>rar todas as possibilida<strong>de</strong>s <strong>de</strong> <strong>de</strong>formação <strong>de</strong>ssas primitivas