Preprint B43/2011
Visualização de Superfícies Implícitas com Traçado de Raios na GPU
Francisco Ganacim
Keywords: ray-casting | implícitas | GPU
Superfícies implícitas são objetos de grande interesse em computação gráfica devido à sua simplicidade e às suas ricas propriedade matemáticas. Essas características as tornam ferramentas adequadas a várias áreas, e.g.: modelagem geométrica, visualização e reconstrução de dados, animação e simulação. Apesar disto, a adoção de superfícies implícitas esbarra na dificuldade de visualização, que pode ser computacionalmente custosa. O ray-casting de superfícies implícitas nos permite renderizar imagens diretamente da função, o que reduz a quantidade de dados no processo e possibilita manter uma alta qualidade em diferentes escalas do modelo, mantendo suas propriedades geométricas e topológicas. Esses métodos se baseiam na solução de equações não lineares para cada raio usado para amostrar a cena. As equações do raio podem ter soluções analíticas nos casos em que a função é um polinômio de grau até quatro ou em outros casos muito simples. Para os outros casos são necessárias estratégias numéricas. Em nosso trabalho abordamos métodos numéricos para isolar raízes baseados em amostragem pontual e em Aritmética Intervalar (AI). Os métodos por amostragem são de simples implementação, porém não são robustos, isto é, podem produzir resultados que não representem com exatidão as propriedades geométricas e a iluminação da superfície. Usando a AI, construímos algoritmos eficientes e robustos, como por exemplo o Algoritmo de Mitchell. Também usamos AI para implementar uma forma de beam-tracing, o que nos permite visualizar certos pontos especiais da superfície. Para podermos visualizar as superfícies de forma interativa, implementamos os métodos discutidos em GPU usando a plataforma CUDA.

Anexos: