Fundamentos da Computação Gráfica

Similar presentations


Presentation on theme: "Fundamentos da Computação Gráfica"— Presentation transcript:

1 Fundamentos da Computação Gráfica
PUC-Rio – Pontifícia Universidade Católica do Rio de Janeiro DI – Departamento de Informática Mestrado em Informática Disciplina: Fundamentos da Computação Gráfica Professor: Marcelo Gattass Pedro Nuno de Souza Moura

2 Apresentação Esta apresentação tem por objetivo demonstrar os algoritmos implementados e os resultados obtidos na otimização do Ray Tracing.

3 Agenda Otimizações no Código Interseção com Primitivas
Estruturas de Dados Espaciais

4 Otimizações no Código Durante os lançamentos dos raios e, principalmente, no cálculo das interseções, um número muito grande de chamadas às funções da bibilioteca “algebra.h” é feito. Excessivo número de passagens por valor do TAD Vetor. Utilizou-se a diretiva de compilador #define para tentar otimizar. Visualizou-se um ganho de tempo considerável.

5 Otimizações no Código A renderização é realizada pixel a pixel, causando um excessivo número de interrupções. Alteração para renderização linha a linha.

6 Interseções com Primitivas
Para a esfera, verificou-se que é o método mais eficiente constante na literatura. Para o triângulo, o método constante no código era o de Badouel, em que se determina a interseção do raio com o plano e, então, verifica-se se o ponto está contido no triângulo. O método estudado foi o de Möller e Trumbore [2].

7 Interseções com Primitivas
Um triângulo é escrito nas coordenadas baricêntricas: A interseção entre o raio e o triângulo é obtido através da resolução da seguinte igualdade: Cuja fórmula fechada pode ser reescrita da seguinte forma:

8 Comparação Antes e depois das otimizações feitas.

9 Comparação Antes e depois das otimizações feitas.

10 Comparação Média de 36,17 % sobre todas as cenas. Anteriores (s)
Novos (s) Diferença Melhoria 5,0780 3,1250 1,9530 38,46% 8,7810 4,5150 4,2660 48,58% 1,2190 0,9210 0,2980 24,45% 1,5000 1,1090 0,3910 26,07% 1,7040 1,2350 0,4690 27,52% 1,5310 1,0780 0,4530 29,59% 1,3440 1,0000 0,3440 25,60% 3,2970 2,1720 1,1250 34,12% 15,3440 6,7340 8,6100 56,11% 14,9060 12,0000 2,9060 19,50% 3,5000 2,3750 67,86% 5,2913 3,1831 2,1082 36,17%

11 Estruturas de Dados Espaciais
Possibilidades para diminuição do número de raios lançados: Uso de estruturas espaciais para particionamento do espaço, tais como Octree e Kdtree. Uso de Bounding Box e Hierarquia de Volumes Limitantes, para diminuir o tempo de cálculo de interseções.

12 Referências Bibliográficas
[1] GLASSNER, Andrew. An Introduction to Ray Tracing. [2] MÖLLER, Tomas; TRUMBORE, Ben. Fast, Minimum Storage Ray/Triangle Intersection. [3] KOMATSU, Kazuhiko; et al. A Fast Ray Frustum-Triangle Intersection Intersection Algorithm with Precomputation and Early Termination. In: IPSJ Online Transactions Vol. 1, 2003. [4] SEGURA, Rafael; FEITO, Francisco. Algorithms to Test Ray-Triangle Intersection: Comparative Study. Departamento de Informática, Universidade de Jaén.


Download ppt "Fundamentos da Computação Gráfica"

Similar presentations


Ads by Google