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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

modo, discutimos nesta seção um método alternativo para controle preciso do cursor.<br />

A <strong>de</strong>terminação algébrica das interseções po<strong>de</strong> ser contornada com a estratégia relacionada à<br />

codificação <strong>de</strong> atributos em pixels da imagem. Por exemplo, a seleção po<strong>de</strong> utilizar a mesma idéia<br />

da tradicional técnica <strong>de</strong> buffer <strong>de</strong> itens (item buffer) [Weghorst et al., 1984], i.e., cada mo<strong>de</strong>lo ge-<br />

ométrico é ren<strong>de</strong>rizado com uma cor distinta em um buffer <strong>de</strong> ren<strong>de</strong>rização não visível, e a cor<br />

obtida do pixel apontado pelo cursor i<strong>de</strong>ntifica o mo<strong>de</strong>lo selecionado. Em resumo, o único atributo<br />

necessário para esta tarefa consiste em um valor i<strong>de</strong>ntificador que indica qual mo<strong>de</strong>lo foi ren<strong>de</strong>rizado<br />

em cada pixel.<br />

O procedimento <strong>de</strong> seleção <strong>de</strong> todos os mo<strong>de</strong>los intersectados pelo raio <strong>de</strong> seleção também po<strong>de</strong><br />

ser realizado através da estratégia <strong>de</strong> codificação <strong>de</strong> atributos em pixels da imagem, sem recorrer a cál-<br />

culos <strong>de</strong> interseção. Para obter o i<strong>de</strong>ntificador <strong>de</strong> todos os mo<strong>de</strong>los que teriam interseções com o raio<br />

<strong>de</strong> seleção <strong>de</strong>terminado pelo cursor 2D, sugerimos o seguinte procedimento iterativo: (1) seleciona-se<br />

o mo<strong>de</strong>lo visível segundo o método <strong>de</strong> buffer <strong>de</strong> itens; (2) ren<strong>de</strong>riza-se a cena novamente no buffer<br />

<strong>de</strong> ren<strong>de</strong>rização não visível, com exceção do(s) mo<strong>de</strong>lo(s) já selecionado(s); (3) repete-se o procedi-<br />

mento a partir do primeiro passo até que nenhum i<strong>de</strong>ntificador seja encontrado no pixel <strong>de</strong> interesse.<br />

Essa seqüência <strong>de</strong> passos resulta em um conjunto <strong>de</strong> i<strong>de</strong>ntificadores dos mo<strong>de</strong>los que teriam intersec-<br />

tado o raio <strong>de</strong> seleção segundo o método <strong>de</strong> ray picking, em uma or<strong>de</strong>m <strong>de</strong> frente para trás a partir do<br />

plano <strong>de</strong> projeção.<br />

O procedimento <strong>de</strong> seleção <strong>de</strong> todos os mo<strong>de</strong>los intersectados pelo raio <strong>de</strong> seleção po<strong>de</strong> ser es-<br />

tendido para o procedimento <strong>de</strong> selecionar todas as faces intersectadas pelo raio <strong>de</strong> seleção. Em cada<br />

iteração das etapas <strong>de</strong>scritas anteriormente, são excluídas as faces já selecionadas. Para isso, cada<br />

face precisa ter seu i<strong>de</strong>ntificador próprio (e.g., uma cor própria). Nesse caso, em um mo<strong>de</strong>lo <strong>de</strong>scrito<br />

por uma malha triangular, <strong>de</strong>ve-se utilizar geometria não in<strong>de</strong>xada, pois vértices comuns a vários<br />

triângulos terão i<strong>de</strong>ntificadores <strong>de</strong> face diferentes para cada face.<br />

Na estratégia <strong>de</strong> codificação <strong>de</strong> atributos em pixels da imagem, a restrição a superfícies po<strong>de</strong> ser<br />

realizada <strong>de</strong> forma semelhante à seleção, i.e., obtendo informações codificadas no pixel apontado<br />

pelo cursor 2D. Para posicionar e orientar o cursor <strong>3D</strong> restrito sobre a superfície, são necessários<br />

os atributos <strong>de</strong> posição <strong>3D</strong>, vetor normal e vetores tangentes à superfície no ponto <strong>de</strong> restrição. O<br />

cálculo <strong>de</strong>ssas proprieda<strong>de</strong>s po<strong>de</strong> ser realizado <strong>de</strong> forma analítica (quando a equação paramétrica da<br />

superfície é conhecida) ou estimado a partir do mo<strong>de</strong>lo discretizado. Caso o mo<strong>de</strong>lo seja transformado<br />

apenas por transformações <strong>de</strong> corpo rígido, este processamento po<strong>de</strong> ser realizado em uma etapa <strong>de</strong><br />

pré-processamento. Caso contrário, <strong>de</strong>ve ser feito em tempo <strong>de</strong> execução, o que po<strong>de</strong> ser custoso.<br />

Se consi<strong>de</strong>rarmos superfícies discretizadas cuja ren<strong>de</strong>rização é realizada com as atuais GPUs,<br />

sugerimos utilizar o próprio fluxo <strong>de</strong> visualização para calcular <strong>de</strong> forma eficiente os atributos ne-<br />

cessários à restrição a superfícies. No processador <strong>de</strong> vértices calcula-se o valor <strong>de</strong> profundida<strong>de</strong> do

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

Saved successfully!

Ooh no, something went wrong!