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.

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.

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

Saved successfully!

Ooh no, something went wrong!