23
Ray Tracing Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Embed Size (px)

Citation preview

Page 1: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay Tracing

Autor: Osvaldo Ramos Tsan Hu

Orientador: Prof. Marcio Lobo

Page 2: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

ObjetivoObjetivo

O propósito deste trabalho é O propósito deste trabalho é apresentar a metodologia de apresentar a metodologia de confecção de imagens utilizando a confecção de imagens utilizando a técnica denominada “Ray Tracing”.técnica denominada “Ray Tracing”.

Page 3: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay Tracing

Método de renderização.Método de renderização.

Baseado no conceito de iluminação global.Baseado no conceito de iluminação global.

Inversão do sentido dos raios de luz. Inversão do sentido dos raios de luz.

Testar os raios de encontro a todos os objetos.Testar os raios de encontro a todos os objetos.

Determinar sombras, reflexões e texturas dos objetos da Determinar sombras, reflexões e texturas dos objetos da

cena. cena.

Page 4: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingÉ necessário primeiro se construir o modelo É necessário primeiro se construir o modelo

de cenário.de cenário.

Page 5: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingPara a construção do modelo de cenário Para a construção do modelo de cenário

utiliza-se alguma linguagem que permita a utiliza-se alguma linguagem que permita a

descrição dos objetos da cena.descrição dos objetos da cena.

#switch ( Quality )#declare nice = color white; #declare nice2 = color rgb <.2, .2 ,.8>; #declare grad_tex = texture { pigment { gradient y color_map { [ 0.0 color nice ] [ 0.6 color nice2 ] } } finish { basic_finish } scale 200 }

Page 6: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingA partir do cenário construído, adiciona-se as A partir do cenário construído, adiciona-se as

fontes de luz e a posição do olho (câmera).fontes de luz e a posição do olho (câmera).

camera { location <0, 300*cos(clock), -750*sin(clock)> direction 2*z up y right 9/16*x look_at <0, 267, 0>}#declare basic_finish =finish { ambient 0.4 diffuse 0.6 brilliance 1 phong 0 phong_size 40 reflection 0 }light_source { <500, 500, 0> color (white) area_light 50*y, 50*z, 5, 5 adaptive 0 jitter }

Page 7: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingNo No Ray TracingRay Tracing um raio da luz parte do olho um raio da luz parte do olho

ou da câmera e segue até atingir um pixel ou da câmera e segue até atingir um pixel

no plano de imagem da cenano plano de imagem da cena

Page 8: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingAlguns raios não atingem nenhum objeto. Alguns raios não atingem nenhum objeto.

Estes são desprezados.Estes são desprezados.

Page 9: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingOutros atingemOutros atingem..

Caso o raio atinja o objeto, é necessário saber se Caso o raio atinja o objeto, é necessário saber se

esse ponto esta ou não em uma sombra. esse ponto esta ou não em uma sombra.

Page 10: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingQuando um raio bate em um objeto, um Quando um raio bate em um objeto, um

segundo raio, chamado “raio de sombra”, é segundo raio, chamado “raio de sombra”, é

disparado em direção às fontes de luz.disparado em direção às fontes de luz.

Page 11: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingSe o raio de sombra atingir um outro objeto Se o raio de sombra atingir um outro objeto

antes de atinjir uma fonte de luz, então antes de atinjir uma fonte de luz, então aquele pixel está na sombra do primeiro aquele pixel está na sombra do primeiro objeto.objeto.

Page 12: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingTemos o primeiro ponto de interseção Temos o primeiro ponto de interseção

da sombra no objeto. da sombra no objeto.

Page 13: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingTambém, quando um raio bate no objeto, é Também, quando um raio bate no objeto, é

gerado um raio refletido para testar o gerado um raio refletido para testar o encontro à todos os objetos da cena. encontro à todos os objetos da cena.

Page 14: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingSe o raio refletido bater em um objeto então Se o raio refletido bater em um objeto então

o resultado é retornado ao primeiro ponto o resultado é retornado ao primeiro ponto da interseção (efeito espelho). da interseção (efeito espelho).

Page 15: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingCaso o objeto cruzado seja transparente, um Caso o objeto cruzado seja transparente, um

raio é gerado e transmitido para testar o raio é gerado e transmitido para testar o encontro aos outros objetos da cena. encontro aos outros objetos da cena.

Page 16: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingSe o raio transmitido bater em um objeto então um Se o raio transmitido bater em um objeto então um

modelo local de iluminação é aplicado no ponto modelo local de iluminação é aplicado no ponto de interseção e o resultado é retornado ao de interseção e o resultado é retornado ao primeiro ponto da interseção.primeiro ponto da interseção.

Page 17: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingOs raios refletidos podem gerar outros raios refletidos que Os raios refletidos podem gerar outros raios refletidos que

podem gerar outros raios refletidos, etc. podem gerar outros raios refletidos, etc.

A seqüência de três imagens mostra uma cena simples com A seqüência de três imagens mostra uma cena simples com nenhuma reflexão, uma dupla reflexão, e então uma reflexão nenhuma reflexão, uma dupla reflexão, e então uma reflexão tripla.tripla.

Page 18: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingA relação entre os raios de luz: A relação entre os raios de luz: RRinin = - = -RRoutout

A projeção do raio A projeção do raio RRinin na normalna normal N N é é N x cos(N x cos(θθ); ); RRoutout = = NN cos(cos()) + + SSRRinin + + SS = = N cos(N cos())SS = = N cos(N cos()) - - RRinin

RRoutout = = 2 N cos(2 N cos()) - - RRinin = = 2 N 2 N ((N · RN · Rinin) - ) - RRinin

Page 19: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingAcelerando o Ray TracerAcelerando o Ray Tracer

O Ray Tracer é um enorme consumidor de O Ray Tracer é um enorme consumidor de máquina por causa da enorme quantidade máquina por causa da enorme quantidade de cálculos necessária. de cálculos necessária.

Assim para uma cena com 100 objetos e Assim para uma cena com 100 objetos e computada com uma definição espacial de computada com uma definição espacial de 512 x 512, supondo 10 operações em 512 x 512, supondo 10 operações em ponto flutuante para o teste do objeto, ponto flutuante para o teste do objeto, teríamos aproximadamente 250.000 x 100 teríamos aproximadamente 250.000 x 100 X 10 = 250.000.000 operações.X 10 = 250.000.000 operações.

Page 20: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingAcelerando o Ray TracerAcelerando o Ray Tracer

1. Usar uma máquina mais rápida1. Usar uma máquina mais rápida

2. Usar máquina que trabalhe com 2. Usar máquina que trabalhe com processadores paralelos. processadores paralelos.

3. Usar algoritmos mais eficientes3. Usar algoritmos mais eficientes

4. Reduzir o número de raios4. Reduzir o número de raios

Page 21: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingAcelerando o Ray TracerAcelerando o Ray Tracer

Controle adaptativo de profundidadeControle adaptativo de profundidade

• Uma das técnicas para diminuir a quantidade Uma das técnicas para diminuir a quantidade de raios é parar de gerar raios de reflexão e de raios é parar de gerar raios de reflexão e de transmissão quando a intensidade se de transmissão quando a intensidade se torna menor do que um valor determinado. torna menor do que um valor determinado.

• Mas não é necessário atingir o valor máximo Mas não é necessário atingir o valor máximo se as superfícies não forem altamente se as superfícies não forem altamente reflexivas. reflexivas.

Page 22: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

Ray TracingRay TracingAcelerando o Ray TracerAcelerando o Ray Tracer

Volumes limitadosVolumes limitados

• Encapsular e hierarquizar os objetos em Encapsular e hierarquizar os objetos em volumes e testa-los usando a ordem volumes e testa-los usando a ordem hierárquica definida. hierárquica definida.

Page 23: Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo

BibliografiaBibliografia•SigGraph, SigGraph, HyperGraph,HyperGraph, home page: home page:

http://www.siggraph.org/education/materials/HyperGraph/raythttp://www.siggraph.org/education/materials/HyperGraph/raytrace/rtrace0.htmrace/rtrace0.htm

•Raves, A: Raves, A: Lego LibraryLego Library, home page: , home page:

http://www.antonraves.com/lego.htmlhttp://www.antonraves.com/lego.html