Ray Tracing Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan...

11
Ray Tracing Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan Carlos Avelino Rocha Departamento de Informática

Transcript of Ray Tracing Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan...

Page 1: Ray Tracing Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan Carlos Avelino Rocha Departamento de Informática.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.