Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Prof. Marcelo Gattass 0821369 - Gustavo Lopes Mourad
2
Para cada pixel da tela Lance uma raio; Para cada objeto da cena Calcule a interseção do raio com este o objeto; Armazene a interseção mais próxima; Se o raio interceptou algum objeto Calcule a contribuição das luzes neste ponto; Pinte o pixel com esta cor; Objetos Luz Iluminação Câmara xexe yeye zeze
3
Melhorias Implementadas ◦ Substituição do método de interceptação de triângulos ◦ Substituição do método de interceptação de mesh ◦ Melhoria de interceptação de esferas
4
Substituição do método de interceptação de triângulos ◦ Algoritmo de Möller e Trumbore [1] Otimização do método de coordenadas baricêntricas de Badouel’s[2] 25% - 50% de economia de memória ◦ double objIntercept( Object* object, Vector origin, Vector direction ) ◦ Resultados wall.rt4 -> 5,98s para 3,57s (~55%)
5
Substituição do método de interceptação de mesh ◦ Dado que os objetos mesh estão implementados como malhas de triangulos, foi usado o mesmo algoritmo. ◦ double objMeshIntercept(Mesh* mesh,Vector origin,Vector direction, double distance) ◦ Resultados bunny.rt4 -> 32’34”” -> 12’44’’ (~39%)
6
Melhoria do método de interceptação de esferas ◦ Substituição do cálculo de raiz quadrada pelo método de Carmack (Quake 3) Sem usar recursão – teoricamente 4x mais rápido ◦ Resultados Não houve melhoria significativa
7
Implementação da KD-Tree ◦ Bounding Box em todos os objetos ◦ Guardar os objetos pelo ponto central da box. ◦ Resultados Objetos fora de ordem na cena!
8
[1] Möller, T; Trumbore, B; Fast Minimum Storage Ray/Triangle Intersection; Journal of Graphics Tools, Vol. 2, Issue 1, Pags 21-28, 1997 [2] Badouel, D; Na Efficient Ray-Polygin Intersection; Graphics Gems, Academic Press Inc. 1990, Pags 390-393
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.