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.
80 Cálculo <strong>de</strong> elementos <strong>de</strong> geometria diferencial discreta na GPU<br />
Expressando Cs em sua forma vetorial (Eq. 3.19), temos:<br />
<br />
<br />
⎡<br />
a<br />
b<br />
b<br />
c<br />
b<br />
c<br />
c<br />
d<br />
∆Ei · U<br />
∆Ei · V<br />
=<br />
∆Kmini · U ∆Kmaxi · U<br />
∆Kmini · V ∆Kmaxi · V<br />
⎤ ⎡ ⎤<br />
, (4.23)<br />
∆Ei · U<br />
⎢<br />
0<br />
⎢<br />
⎣ 0<br />
∆Ei · V<br />
∆Ei · U<br />
∆Ei · U<br />
0<br />
∆Ei · V<br />
∆Ei · V<br />
0<br />
0<br />
0<br />
a<br />
⎥ ⎢ ⎥<br />
⎥ ⎢<br />
⎥ ⎢<br />
b ⎥<br />
⎥ ⎢<br />
⎦ ⎣ c<br />
⎥<br />
⎦<br />
0 0 ∆Ei · U ∆Ei · V d<br />
=<br />
⎡<br />
⎤<br />
∆Kmini · U<br />
⎢ ∆Kmini ⎢<br />
· V<br />
⎢<br />
⎣ ∆Kmaxi · U<br />
⎥ ,<br />
⎦<br />
(4.24)<br />
· V<br />
on<strong>de</strong> a, b, c, d são os coeficientes <strong>de</strong> Cs.<br />
∆Kmaxi<br />
Da mesma forma que na estimativa <strong>de</strong> IIs, este sistema também é resolvido pelo método <strong>de</strong><br />
mínimos quadrados.<br />
4.3 Resultados<br />
Na GPU, o algoritmo foi implementado como dois sha<strong>de</strong>rs em HLSL compatíveis com o mo<strong>de</strong>lo<br />
<strong>de</strong> sha<strong>de</strong>r 3.0 e listados no apêndice B. O primeiro sha<strong>de</strong>r foi utilizado para estimar os coeficientes do<br />
tensor <strong>de</strong> curvatura, as curvaturas principais e as direções principais com base nas equações 4.16, 4.17<br />
e 4.18. O segundo sha<strong>de</strong>r foi utilizado para estimar os coeficientes do tensor <strong>de</strong> <strong>de</strong>rivada <strong>de</strong> curvatura<br />
através das equações 4.19 a 4.24. Este segundo sha<strong>de</strong>r requer a execução do primeiro sha<strong>de</strong>r <strong>de</strong><br />
modo a obter as curvatures e direções principais que serão utilizadas como novas bases tangentes. A<br />
implementação do método <strong>de</strong> mínimos quadrados e iteração <strong>de</strong> Jacobi na GPU são triviais, uma vez<br />
que as operações envolvidas são operações aritméticas convencionais suportadas pela atual arquitetura<br />
<strong>de</strong> hardware gráfico.<br />
Seguindo o paradigma <strong>de</strong> utilizar a GPU como um processador <strong>de</strong> fluxo <strong>de</strong> propósito geral, os<br />
dados da geometria e conectivida<strong>de</strong> do mo<strong>de</strong>lo são armazenados previamente em texturas com for-<br />
mato <strong>de</strong> ponto flutuante. Essas texturas são acessadas no processador <strong>de</strong> fragmentos, que por sua<br />
vez armazena os resultados calculados em texturas utilizadas como alvo <strong>de</strong> ren<strong>de</strong>rização. O conteúdo<br />
<strong>de</strong>ssas texturas é posteriormente utilizado pelas outras etapas da arquitetura <strong>de</strong> interação.<br />
A seguir apresentamos os resultados dos testes <strong>de</strong> <strong>de</strong>sempenho e robustez obtidos pelas nossas<br />
técnicas <strong>de</strong> estimativa <strong>de</strong> elementos <strong>de</strong> geometria diferencial discreta.