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.

136 Resultados<br />

mento da arquitetura. O tempo medido inclui a transferência dos dados da região <strong>de</strong> interesse para<br />

a CPU. Os resultados são mostrados na figura 6.4 e mostram que o tamanho da região <strong>de</strong> interesse<br />

contribui <strong>de</strong> forma linear para a redução do <strong>de</strong>sempenho da arquitetura (note que o eixo das abscissas<br />

correspon<strong>de</strong> à raiz quadrada do número <strong>de</strong> pixels). Isto ocorre porque, internamente, o sha<strong>de</strong>r <strong>de</strong><br />

fragmentos que encapsula o estágio <strong>de</strong> modificação <strong>de</strong> atributos <strong>de</strong> fragmentos e o estágio <strong>de</strong> codifi-<br />

cação <strong>de</strong>sses atributos não realiza um processamento intensivo (a função <strong>de</strong> modificação <strong>de</strong> atributos<br />

<strong>de</strong> fragmentos é uma função-i<strong>de</strong>ntida<strong>de</strong>). Po<strong>de</strong>mos, portanto, concluir que o gargalo do fluxo <strong>de</strong><br />

processamento está <strong>de</strong> fato no estágio <strong>de</strong> cálculo <strong>de</strong> atributos geométricos.<br />

6.2 Exemplos <strong>de</strong> aplicações<br />

A seguir, <strong>de</strong>screvemos como utilizamos a arquitetura <strong>de</strong> interação para implementar algumas<br />

ferramentas <strong>de</strong> manipulação direta em geometria <strong>de</strong>formada na GPU.<br />

De modo a validar nossa hipótese <strong>de</strong> que atributos geométricos e atributos <strong>de</strong>finidos pela apli-<br />

cação codificados para cada pixel do mo<strong>de</strong>lo geométrico ren<strong>de</strong>rizado são suficientes para suportar<br />

a implementação <strong>de</strong> diferentes tarefas <strong>de</strong> manipulação direta baseadas em tarefas <strong>de</strong> seleção <strong>3D</strong> e<br />

posicionamento restrito <strong>3D</strong> com o uso <strong>de</strong> um dispositivo apontador 2D, mostramos a seguir exem-<br />

plos <strong>de</strong> implementação <strong>de</strong> tarefas <strong>de</strong> interação <strong>3D</strong> utilizando os comandos da biblioteca apresentada<br />

no apêndice C. Essas tarefas são: seleção do mo<strong>de</strong>lo visível, i<strong>de</strong>ntificação das faces intersectadas<br />

pelo raio <strong>de</strong> seleção, seleção usando mapas <strong>de</strong> interação [Pierce and Pausch, 2003], posicionamento<br />

restrito a superfícies, posicionamento restrito a vértices, posicionamento restrito a bordas, pintura e<br />

escultura <strong>de</strong> um mo<strong>de</strong>lo com relief mapping, e posicionamento restrito <strong>de</strong> acordo com as curvatu-<br />

ras e direções principais. A seguir <strong>de</strong>screvemos cada uma <strong>de</strong>ssas técnicas, <strong>de</strong>stacando como elas se<br />

diferem em relação aos comandos da biblioteca responsáveis pela interface <strong>de</strong> entrada da arquitetura.<br />

Em todas as tarefas <strong>de</strong> interação, a or<strong>de</strong>m <strong>de</strong> execução <strong>de</strong> outros comandos da biblioteca segue a<br />

or<strong>de</strong>m sugerida na seção 5.5.<br />

6.2.1 Seleção do mo<strong>de</strong>lo visível<br />

A tarefa <strong>de</strong> seleção do mo<strong>de</strong>lo visível consiste em i<strong>de</strong>ntificar qual mo<strong>de</strong>lo geométrico, <strong>de</strong>ntre<br />

todos os mo<strong>de</strong>los visíveis na tela, está sendo apontado pelo cursor 2D <strong>de</strong> posicionamento livre. <strong>Uma</strong><br />

realimentação visual comum para seleção consiste em <strong>de</strong>stacar o mo<strong>de</strong>lo apontado pelo cursor 2D.<br />

Isto po<strong>de</strong> ser feito, por exemplo, alterando a cor do mo<strong>de</strong>lo selecionado. <strong>Uma</strong> imagem da aplicação<br />

utilizando esta tarefa é mostrada na figura 6.5. Nesta figura, o mo<strong>de</strong>lo selecionado pelo cursor 2D é<br />

<strong>de</strong>stacado com outra cor, e o valor do i<strong>de</strong>ntificador é mostrado na parte inferior da imagem.

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

Saved successfully!

Ooh no, something went wrong!