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.

58 Atributos elementares para manipulação direta<br />

gia <strong>de</strong> codificação <strong>de</strong> atributos em pixels se aplicaria. Para tanto, sugerimos utilizar praticamente o<br />

mesmo procedimentos empregado para a restrição a vértices ou arestas. Por exemplo, o mo<strong>de</strong>lo po<strong>de</strong><br />

ser ren<strong>de</strong>rizado com as primitivas preenchidas <strong>de</strong> modo que, em cada pixel, seja armazenado o valor<br />

<strong>de</strong> profundida<strong>de</strong> da superfície naquele ponto. Na imagem efetivamente visualizada, aplica-se o filtro<br />

<strong>de</strong> processamento <strong>de</strong> imagens <strong>de</strong>sejado (e.g., <strong>de</strong>tecção <strong>de</strong> bordas). A imagem obtida po<strong>de</strong> então ser<br />

utilizada como uma máscara sobre a imagem no buffer <strong>de</strong> ren<strong>de</strong>rização não visível. São excluídos<br />

todos os pixels que não coinci<strong>de</strong>m com as bordas <strong>de</strong>tectadas. Assim, basta <strong>de</strong>terminar, <strong>de</strong>ntro da<br />

região <strong>de</strong> pixels em torno do cursor 2D, qual o pixel mais próximo do cursor, consi<strong>de</strong>rando apenas<br />

aqueles que não foram excluídos pela máscara. O cursor 2D é <strong>de</strong>slocado para este pixel, e o cursor<br />

<strong>3D</strong> é <strong>de</strong>slocado para a posição <strong>3D</strong> correspon<strong>de</strong>nte no mo<strong>de</strong>lo.<br />

3.4 Consi<strong>de</strong>rações finais<br />

Ao utilizarmos a estratégia <strong>de</strong> interação baseada na leitura <strong>de</strong> dados a partir da imagem da cena<br />

ren<strong>de</strong>rizada em buffers <strong>de</strong> ren<strong>de</strong>rização não visíveis, os dados po<strong>de</strong>m ser divididos entre atributos ge-<br />

ométricos e atributos não geométricos. Os atributos não geométricos são valores genéricos <strong>de</strong>finidos<br />

pela própria aplicação, tais como os valores <strong>de</strong> i<strong>de</strong>ntificação <strong>de</strong> mo<strong>de</strong>los/arestas/vértices utilizados<br />

nas tarefas <strong>de</strong> seleção e posicionamento restrito. Os atributos geométricos vistos até aqui são, além<br />

da posição <strong>3D</strong>, proprieda<strong>de</strong>s <strong>de</strong> geometria diferencial tais como o vetor normal, vetores tangentes ali-<br />

nhados <strong>de</strong> acordo com a parametrização das coor<strong>de</strong>nadas <strong>de</strong> textura da superfície, direções principais,<br />

curvaturas principais e <strong>de</strong>rivadas <strong>de</strong>ssas curvaturas.<br />

Em tarefas <strong>de</strong> seleção, são necessários apenas os atributos armazenados no pixel apontado pelo<br />

cursor 2D. Para tarefas <strong>de</strong> posicionamento restrito, esses atributos <strong>de</strong>vem ser armazenados somente<br />

para uma região <strong>de</strong> pixels em torno do cursor 2D, região essa <strong>de</strong>terminada pela magnitu<strong>de</strong> do campo<br />

<strong>de</strong> gravida<strong>de</strong> que está sendo simulado. Estes atributos, relativos à geometria original submetida à<br />

GPU, po<strong>de</strong>m sofrer modificações ao longo do fluxo programável <strong>de</strong> ren<strong>de</strong>rização (figura 2.3) e gerar<br />

efeitos visuais <strong>de</strong> profundida<strong>de</strong> e <strong>de</strong> curvatura bastante distintos dos efeitos que a geometria original<br />

produziria. <strong>Uma</strong> arquitetura <strong>de</strong> interação i<strong>de</strong>al seria aquela que estima na GPU todos os atributos<br />

geométricos necessários à interação, <strong>de</strong> forma transparente à aplicação.<br />

Os atributos geométricos po<strong>de</strong>m ser empregados para aproximar a reconstrução da superfície nos<br />

pontos <strong>de</strong> seleção ou posicionamento restrito, e o uso combinado <strong>de</strong> atributos geométricos e não<br />

geométricos permite a realização <strong>de</strong> tarefas <strong>de</strong> interação mais complexas. Por exemplo, para realizar<br />

uma tarefa <strong>de</strong> pintura <strong>3D</strong> [Hanrahan and Haeberli, 1990, Carr and Hart, 2004], a arquitetura é capaz<br />

<strong>de</strong> fornecer atributos tais como o i<strong>de</strong>ntificador do mo<strong>de</strong>lo apontado (para i<strong>de</strong>ntificar qual mo<strong>de</strong>lo está<br />

sendo pintado), as coor<strong>de</strong>nadas <strong>de</strong> textura do ponto sob o cursor 2D (para que a aplicação possa

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

Saved successfully!

Ooh no, something went wrong!