JICAC UFRJ 2014 - Ray Tracing: O Mundo Através De Raios De Luz

JICAC UFRJ 2014 - Ray Tracing: O Mundo Através De Raios De Luz

JICAC UFRJ 2014 - Ray Tracing: O Mundo Através De Raios De Luz. Criado com beamer (LaTeX), utilizando o Lyx.

1f603a6e11897c650fffcb77c265c444?s=128

Thiago Perrotta

October 10, 2014
Tweet

Transcript

  1. Ray Tracing: O Mundo Através De Raios de Luz XXXVI

    Jornada Giulio Massarani de Iniciação Cientíca, Tecnológica, Artística e Cultural Thiago Barroso Perrotta Prof.º Ricardo Marroquim Universidade Federal do Rio de Janeiro 10 de outubro de 2014 1 / 30
  2. Ray-tracer Agenda 1 Ray-tracer 2 Extração de primitivas em nuvens

    de pontos 3 Na prática Resultados Conclusão 2 / 30
  3. Ray-tracer Ray-tracer Conceituando Interação física da luz com objetos Modelo

    físico, com diversas aproximações matemáticas Renderização de imagens com alto grau de realismo 3 / 30
  4. Ray-tracer O algoritmo Dena alguns objetos Especique um material para

    cada objeto Dena algumas fontes de luz Dena um plano de visualização Para cada pixel Atire um raio do centro do pixel na direção dos objetos Dentre os pontos atingidos, compute o mais próximo Se o raio atingiu algum objeto Use o material do mesmo e as luzes para computar a cor do pixel Caso contrário Ponha o pixel com a cor de fundo 4 / 30
  5. Ray-tracer Objetos Esferas 5 / 30

  6. Ray-tracer Objetos Retângulos 6 / 30

  7. Ray-tracer Objetos Triângulos 7 / 30

  8. Ray-tracer Objetos Toros 8 / 30

  9. Ray-tracer Objetos Cilindros 9 / 30

  10. Ray-tracer Objetos Planos 10 / 30

  11. Ray-tracer O algoritmo Dena alguns objetos Especique um material para

    cada objeto Dena algumas fontes de luz Dena um plano de visualização Para cada pixel Atire um raio do centro do pixel na direção dos objetos Dentre os pontos atingidos, compute o mais próximo Se o raio atingiu algum objeto Use o material do mesmo e as luzes para computar a cor do pixel Caso contrário Ponha o pixel com a cor de fundo 11 / 30
  12. Ray-tracer Os materiais =⇒ Como dado objeto deve interagir com

    a luz? Tipos de Iluminação Ambiente Difusa Especular 12 / 30
  13. Ray-tracer Os materiais Matte: interação ambiente + difusa Phong: interação

    ambiente + difusa + especular 13 / 30
  14. Ray-tracer O algoritmo Dena alguns objetos Especique um material para

    cada objeto Dena algumas fontes de luz Dena um plano de visualização Para cada pixel Atire um raio do centro do pixel na direção dos objetos Dentre os pontos atingidos, compute o mais próximo Se o raio atingiu algum objeto Use o material do mesmo e as luzes para computar a cor do pixel Caso contrário Ponha o pixel com a cor de fundo 14 / 30
  15. Ray-tracer As fontes de luz Tipos Direcionais Pontuais Luz direcional

    Luz pontual 15 / 30
  16. Ray-tracer O algoritmo Dena alguns objetos Especique um material para

    cada objeto Dena algumas fontes de luz Dena um plano de visualização Para cada pixel Atire um raio do centro do pixel na direção dos objetos Dentre os pontos atingidos, compute o mais próximo Se o raio atingiu algum objeto Use o material do mesmo e as luzes para computar a cor do pixel Caso contrário Ponha o pixel com a cor de fundo 16 / 30
  17. Ray-tracer O plano de visualização Resolução (número de pixels) =⇒

    Ex.: 400 × 400 Tamanho de cada pixel Câmera Plano de Visualização Várias resoluções distintas 17 / 30
  18. Ray-tracer O algoritmo Dena alguns objetos Especique um material para

    cada objeto Dena algumas fontes de luz Dena um plano de visualização Para cada pixel Atire um raio do centro do pixel na direção dos objetos Dentre os pontos atingidos, compute o mais próximo Se o raio atingiu algum objeto Use o material do mesmo e as luzes para computar a cor do pixel Caso contrário Ponha o pixel com a cor de fundo 18 / 30
  19. Ray-tracer Interseção entre um raio e vários objetos Função HIT

    para cada objeto pixel luz 19 / 30
  20. Ray-tracer O algoritmo Dena alguns objetos Especique um material para

    cada objeto Dena algumas fontes de luz Dena um plano de visualização Para cada pixel Atire um raio do centro do pixel na direção dos objetos Dentre os pontos atingidos, compute o mais próximo Se o raio atingiu algum objeto Use o material do mesmo e as luzes para computar a cor do pixel Caso contrário Ponha o pixel com a cor de fundo 20 / 30
  21. Ray-tracer Exemplos 21 / 30

  22. Extração de primitivas em nuvens de pontos Agenda 1 Ray-tracer

    2 Extração de primitivas em nuvens de pontos 3 Na prática Resultados Conclusão 22 / 30
  23. Extração de primitivas em nuvens de pontos Extração de primitivas

    em nuvens de pontos Conceituando Origens: Modelos 3D escaneados Motivações: simplicação, compactação Primitivas: cones, cilindros, planos, esferas, toros. 23 / 30
  24. Extração de primitivas em nuvens de pontos Extração de primitivas

    em nuvens de pontos Algoritmo RANSAC Tome alguns pontos aleatoriamente Considere a primitiva que eles formam Verique se ela é um bom candidato Repita esse procedimento até dado limite, selecionando as melhores primitivas 24 / 30
  25. Na prática Agenda 1 Ray-tracer 2 Extração de primitivas em

    nuvens de pontos 3 Na prática Resultados Conclusão 25 / 30
  26. Na prática Resultados Alguns resultados Contexto Linguagem de Programação C++

    (g++) Gerenciamento de Build CMake Kit gráco Qt 5 Framework de testes Google Test Ambiente de testes Ubuntu 14.04 64-bit Intel Core i5-3317U @ 1.7GHz x 4 4GB de memória 26 / 30
  27. Na prática Resultados Alguns resultados Ray-tracing 27 / 30

  28. Na prática Resultados Alguns resultados Extração de primitivas 28 /

    30
  29. Na prática Conclusão Conclusão e Ideias Futuras Ray-tracer Esquemas de

    aceleração Mais recursos Paralelização Extração de primitivas Melhorar algoritmos Testar com modelos mais complexos Salvar estados intermediários 29 / 30
  30. Na prática Conclusão Obrigado! 30 / 30