ray tracing disciplina: fundamentos de computação gráfica professor : marcelo gattass allan...
TRANSCRIPT
![Page 1: Ray Tracing Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan Carlos Avelino Rocha Departamento de Informática](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc10b497959413d8c25d9/html5/thumbnails/1.jpg)
Ray Tracing
Disciplina: Fundamentos de Computação Gráfica
Professor : Marcelo Gattass
Allan Carlos Avelino Rocha
Departamento de Informática
![Page 2: Ray Tracing Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan Carlos Avelino Rocha Departamento de Informática](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc10b497959413d8c25d9/html5/thumbnails/2.jpg)
Departamento de Informática
Introdução
Ray tracing (traçado de raios) é um algoritmo de computação gráfica usado para síntese (renderização) de imagens tridimensionais.
![Page 3: Ray Tracing Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan Carlos Avelino Rocha Departamento de Informática](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc10b497959413d8c25d9/html5/thumbnails/3.jpg)
Algoritmo (Brute Force)
Departamento de Informática
Introdução
Caro:
- Intersecção raio-objeto (Triângulos)
- Cena com |O| número de objetos e imagem compostaPor | I | pixels, temos complexidade | I |x| O |.
![Page 4: Ray Tracing Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan Carlos Avelino Rocha Departamento de Informática](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc10b497959413d8c25d9/html5/thumbnails/4.jpg)
Departamento de Informática
Análise
Como melhorar o Ray Tracing?
- Descarte de triângulos
- Cálculo de interseção
- Estrutura de dados eficientes
- Técnicas de programação
![Page 5: Ray Tracing Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan Carlos Avelino Rocha Departamento de Informática](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc10b497959413d8c25d9/html5/thumbnails/5.jpg)
Departamento de Informática
Análise
Descarte de Triângulos
![Page 6: Ray Tracing Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan Carlos Avelino Rocha Departamento de Informática](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc10b497959413d8c25d9/html5/thumbnails/6.jpg)
Departamento de Informática
Análise
Melhorar o cálculo de interseção
Idéia:
Calculo de Interseção com o triângulo Exemplo : Algoritmo de Möller
![Page 7: Ray Tracing Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan Carlos Avelino Rocha Departamento de Informática](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc10b497959413d8c25d9/html5/thumbnails/7.jpg)
Departamento de Informática
Análise
Uso de estruturas de dados eficientes
Grid Unifome (HBV)
- Cálculo do bbox da scena- Divide o bbox em uma certa resolução- Calcula a interseção com cada bbox
Octree, Kdtree ...
![Page 8: Ray Tracing Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan Carlos Avelino Rocha Departamento de Informática](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc10b497959413d8c25d9/html5/thumbnails/8.jpg)
c
Departamento de Informática
Análise
Técnicas de programação
- Chamadas de função (#define, inline)
- Passagem por referência- Aproveitar o paralelismo dos raios
- Openmp - Threads
Outros : occlusion queries (opengl)
![Page 9: Ray Tracing Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan Carlos Avelino Rocha Departamento de Informática](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc10b497959413d8c25d9/html5/thumbnails/9.jpg)
Departamento de Informática
Conclusão
Mudanças feitas
Mudança no código de impressão dos pixels na tela, já que cada vez que uma interrupção de tela é lançada, o processamento tem que parado instantaneamente.
Inserção de #defines no código para evitar chamadas de função Utilização de parametros de compilação para paralelizar trechos independentes de codigo
Tentativas
- Mudança nas passagens por valor das funções- Algoritmo de moller- Openmp(programacao paralela)- Uso de uma HBV ou Octree
![Page 10: Ray Tracing Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan Carlos Avelino Rocha Departamento de Informática](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc10b497959413d8c25d9/html5/thumbnails/10.jpg)
Departamento de Informática
Conclusão
Tentativas
- Mudança nas passagens por valor das funções- Algoritmo de moller- Openmp(programacao paralela)- Uso de uma HBV ou Octree
![Page 11: Ray Tracing Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan Carlos Avelino Rocha Departamento de Informática](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc10b497959413d8c25d9/html5/thumbnails/11.jpg)
Departamento de Informática
Referências
Ray Tracing Acceleration Techniques, Greg Humphreys and Rui Wang and Nolan Goodnight, University of Virginia, 2003.
Biblioteca de Traçado de Raios em Tempo Real, Paulo Ivson, Puc-rio, 2007.
Algorithms to test ray-triangle intersection. Comparative study, Rafael J. Segura1, Francisco R. Feito, Universidad de Jaén, Spain.
Ray Tracing Triangular Meshes, John Amanatides and Kin Choi, York UniversityNorth York, Ontario, Canada.
Opengl Programming Guide Fifth Edition, Redbook.
A Fast Triangle-Triangle Intersection Test, Thomas Moller.
Fast Ray-Triangle Intersection Test Using Orientation Determinants, Philippe Guigueand Olivier Devillers, 2003.