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.
4.2 Nossa proposta 77<br />
canal alfa do mapa <strong>de</strong> tangentes aos vértices.<br />
Após executar estes três passos <strong>de</strong> ren<strong>de</strong>rização, o sha<strong>de</strong>r <strong>de</strong> vértices está agora apto a acessar o<br />
mapa <strong>de</strong> normais aos vértices e os mapa <strong>de</strong> vetores tangentes para fornecer ao sha<strong>de</strong>r <strong>de</strong> fragmentos<br />
as bases tangentes corretas da geometria <strong>de</strong>formada. O vetor bitangente B no vértice é calculado<br />
através do produto vetorial entre a normal N e o vetor tangente T , na or<strong>de</strong>m <strong>de</strong>terminada pela regra<br />
<strong>de</strong> mão (direita ou esquerda): B = (N × T )(−1) h , on<strong>de</strong> h indica a regra utilizada (0 para a mão<br />
direita, 1 para a mão esquerda).<br />
4.2.2 Elementos <strong>de</strong> segunda e terceira or<strong>de</strong>m<br />
Tanto quanto foi possível propor o cálculo <strong>de</strong> vetores normais, tangentes e bitangentes diretamente<br />
na GPU, também propomos calcular diretamente na GPU o tensor <strong>de</strong> curvatura IIs, as curvaturas prin-<br />
cipais, as direções principais e o tensor <strong>de</strong> <strong>de</strong>rivada da curvatura Cs, para cada vértice da geometria<br />
<strong>de</strong>formada. De modo a avaliar a escolha <strong>de</strong> uma das técnicas apresentadas anteriormente para tal<br />
propósito, procuramos priorizar as seguintes características:<br />
• Eficiência: O tempo total da estimativa do tensor <strong>de</strong> curvatura, das curvaturas principais, das<br />
direções principais e do tensor <strong>de</strong> <strong>de</strong>rivada <strong>de</strong> curvatura <strong>de</strong>ve ser tal que permita a execução do<br />
algoritmo em tempo real para mo<strong>de</strong>los compostos <strong>de</strong> <strong>de</strong>zenas <strong>de</strong> milhares <strong>de</strong> vértices. Como<br />
estamos consi<strong>de</strong>rando a implementação do algoritmo na GPU, as instruções e estruturas <strong>de</strong><br />
dados envolvidas <strong>de</strong>vem ser simples o suficiente para permitir essa implementação.<br />
• Generalida<strong>de</strong>: De modo a manter a compatibilida<strong>de</strong> com malhas triangulares arbitrárias, o<br />
algoritmo não <strong>de</strong>ve impor restrições quanto à topologia do mo<strong>de</strong>lo. Em especial, o algoritmo<br />
<strong>de</strong>ve calcular as proprieda<strong>de</strong>s <strong>de</strong> geometria diferencial mesmo em superfícies com buracos, su-<br />
perfícies amostradas <strong>de</strong> forma irregular, e malhas com diferentes valências dos vértices. Para o<br />
tratamento <strong>de</strong> gráficos baseados em pontos, <strong>de</strong>ve-se ainda consi<strong>de</strong>rar a inexistência <strong>de</strong> relações<br />
<strong>de</strong> orientação das faces. Em outras palavras, a única estrutura <strong>de</strong> conectivida<strong>de</strong> permitida <strong>de</strong>ve<br />
ser a vizinhança <strong>de</strong> 1-anel <strong>de</strong> cada vértice, na forma <strong>de</strong> um conjunto <strong>de</strong> pontos possivelmente<br />
sem or<strong>de</strong>m <strong>de</strong>finida.<br />
• Robustez: O algoritmo <strong>de</strong>ve calcular corretamente as proprieda<strong>de</strong>s <strong>de</strong> geometria diferencial<br />
para as configurações consi<strong>de</strong>radas <strong>de</strong>generadas para os métodos citados anteriormente: pontos<br />
colineares e pontos <strong>de</strong> interseção entre duas linhas. Dessa forma, em mo<strong>de</strong>los digitalizados, a<br />
presença <strong>de</strong> outliers <strong>de</strong>ve ser minimizada.