Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

38
Ray Tracing Ray Tracing Estocástico e Estocástico e Distribuido Distribuido Aruquia Barbosa Aruquia Barbosa

Transcript of Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Page 1: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Ray Tracing Estocástico e Ray Tracing Estocástico e DistribuidoDistribuido

Aruquia BarbosaAruquia Barbosa

Page 2: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Ray TracingRay Tracing

AliasingAliasing

Stochastic Ray TracingStochastic Ray Tracing

Distributed Ray TracingDistributed Ray Tracing

ExemplosExemplos

ReferênciasReferências

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoIntroduçãoIntrodução

Page 3: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Faz o traçado de raios entre uma lente e os objetos que Faz o traçado de raios entre uma lente e os objetos que estão atrás de um anteparo.estão atrás de um anteparo.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoRay TracingRay Tracing

Page 4: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Aliasing EspacialAliasing EspacialOcorre quando a frequência é maior que o limite de Ocorre quando a frequência é maior que o limite de Nyquist.Nyquist.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoAliasingAliasing

Seno 1

Seno 2

Page 5: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Aliasing TemporalAliasing Temporal

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoAliasingAliasing

Page 6: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

SupersamplingSupersampling

Supersampling AdaptativoSupersampling Adaptativo

Ray Tracing EstocásticoRay Tracing Estocástico

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoAnti-AliasingAnti-Aliasing

Page 7: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

SupersamplingSupersampling

Usa vários raios e a cor do pixel é dada pela média das Usa vários raios e a cor do pixel é dada pela média das cores dos raios.cores dos raios.

É uma boa forma inicial de atacar o problema.É uma boa forma inicial de atacar o problema.

Só reduz o problema de aliasing. Só reduz o problema de aliasing.

É caro computacionalmente.É caro computacionalmente.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoAnti-AliasingAnti-Aliasing

Page 8: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Supersampling AdaptativoSupersampling Adaptativo

Divide o pixel em regiões e lança um raio em cada Divide o pixel em regiões e lança um raio em cada região.região.

Se o raio em uma determinada região difere muito dos Se o raio em uma determinada região difere muito dos outros esta região é subdividida.outros esta região é subdividida.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoAnti-AliasingAnti-Aliasing

Page 9: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Supersampling AdaptativoSupersampling Adaptativo

É fácil, não muito lento e funciona bem.É fácil, não muito lento e funciona bem.

Assume que se os raios iniciais não detectam cores Assume que se os raios iniciais não detectam cores diferentes, então a amostragem está correta.diferentes, então a amostragem está correta.

Usa um grid regular na amostragem.Usa um grid regular na amostragem.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoAnti-AliasingAnti-Aliasing

Page 10: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Stochastic Ray Tracing.Stochastic Ray Tracing.

Usa uma amostragem estocástica em cada pixel.Usa uma amostragem estocástica em cada pixel.

Troca aliasing por Troca aliasing por ruídoruído, que é melhor aceito pelo , que é melhor aceito pelo olho humano.olho humano.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoStochastic Ray TracingStochastic Ray Tracing

Page 11: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Motivação:Motivação:

As células receptoras no olho humano são próximas na As células receptoras no olho humano são próximas na região central.região central.

A retina funciona como um filtro de passa-baixa.A retina funciona como um filtro de passa-baixa.

Fora da região central as células tem uma distribuição Fora da região central as células tem uma distribuição não uniforme.não uniforme.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoStochastic Ray TracingStochastic Ray Tracing

Page 12: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Motivação:

Distribuição das células fotorreceptoras do macaco rhesus e sua transformada de Fourier.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoStochastic Ray TracingStochastic Ray Tracing

Page 13: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoStochastic Ray TracingStochastic Ray Tracing

Seno1 Seno 2Amostragem uniforme

Page 14: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoStochastic Ray TracingStochastic Ray Tracing

Seno1 Seno 2Amostragem não uniforme

Page 15: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoStochastic Ray TracingStochastic Ray Tracing

Exemplo

Page 16: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

•UmaUma amostragemamostragem por pixel. por pixel.•Uma amostragem por pixel, com Jitter.Uma amostragem por pixel, com Jitter.•16 amostragens por pixel.16 amostragens por pixel.•16 amostragens por pixel, com Jitter.16 amostragens por pixel, com Jitter.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoStochastic Ray TracingStochastic Ray Tracing

Exemplos

Page 17: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Uma forma de produzir uma amostragem estocástica Uma forma de produzir uma amostragem estocástica sem implementar uma amostragem de Poisson é fazer sem implementar uma amostragem de Poisson é fazer um Jittering.um Jittering.

Jittering é adicionar algum ruído a uma amostragem, Jittering é adicionar algum ruído a uma amostragem, que pode ser espacial ou temporal.que pode ser espacial ou temporal.

Neste trabalho vamos mostrar Jittering em uma Neste trabalho vamos mostrar Jittering em uma partição uniforme não correlacionado.partição uniforme não correlacionado.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoJitteringJittering

Page 18: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Para uma função seno que está dentro do limite de Para uma função seno que está dentro do limite de Nyquist fazer um Jittering na localização dos pontos Nyquist fazer um Jittering na localização dos pontos de amostragem é igual a adicionar um ruído a função.de amostragem é igual a adicionar um ruído a função.

Já para uma função seno que está bem além do limite Já para uma função seno que está bem além do limite de Nyquist ao fazer um Jittering a altura amostrada de Nyquist ao fazer um Jittering a altura amostrada pode ser qualquer uma, logo o que vai aparecer é pode ser qualquer uma, logo o que vai aparecer é praticamente só ruído.praticamente só ruído.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoJitteringJittering

Page 19: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Quando fazemos uma amostragem estocástica a Quando fazemos uma amostragem estocástica a intensidade de um pixel é uma função analítica que intensidade de um pixel é uma função analítica que pode envolver várias integrais.pode envolver várias integrais.Para evitar estas contas foram feitas várias Para evitar estas contas foram feitas várias simplificações.simplificações.Como efeito colateral destas simplificações temos Como efeito colateral destas simplificações temos perda de realismo em imagens que tem penumbra, perda de realismo em imagens que tem penumbra, reflexão, translucência, profundidade e movimento,reflexão, translucência, profundidade e movimento,Ray Tracing Distribuído é uma forma de tornar mais Ray Tracing Distribuído é uma forma de tornar mais realistas estes efeitos.realistas estes efeitos.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoDistribuited Ray TracingDistribuited Ray Tracing

Page 20: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Ray Tracing Distribuído:Ray Tracing Distribuído:

Considera as variáveis de integração como dimensões Considera as variáveis de integração como dimensões adicionais.adicionais.

Faz uma avaliação de Monte Carlo das integrais Faz uma avaliação de Monte Carlo das integrais distribuindo estocasticamente os raios nas dimensões distribuindo estocasticamente os raios nas dimensões adicionais.adicionais.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoDistribuited Ray TracingDistribuited Ray Tracing

Page 21: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

●Distribuir os raios refletidos de acordo com uma Distribuir os raios refletidos de acordo com uma função de distribuição especular produz gloss.função de distribuição especular produz gloss.●Distribuir os raios transmitidos produz translucency.Distribuir os raios transmitidos produz translucency.●Distribuir os raios de sombra através do ângulo Distribuir os raios de sombra através do ângulo sólido de cada fonte de luz produz penumbra.sólido de cada fonte de luz produz penumbra.●Distribuir as origens dos raios sobre a lente da Distribuir as origens dos raios sobre a lente da câmera produz depth of field.câmera produz depth of field.●Distribuir os raios no tempo produz motion blur.Distribuir os raios no tempo produz motion blur.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoDistribuited Ray TracingDistribuited Ray Tracing

Page 22: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

ShadingShadingSeja Seja II a intensidade da luz refletida em um ponto da a intensidade da luz refletida em um ponto da superfície.superfície.LL função de iluminação. função de iluminação.RR Função de reflexão. Função de reflexão.Eles se relacionam por:Eles se relacionam por:

II((rr,,rr)=)=i i rr L L ((ii,,ii) ) R R ((ii,,ii, , rr,,rr) ) ddiiddII

●Assumindo que Assumindo que L L só é diferente de zero nas direções das só é diferente de zero nas direções das fontes de luz temos sombras com bordos.fontes de luz temos sombras com bordos.●Assumindo que Assumindo que R R só ésó é diferente de zero na direção diferente de zero na direção especular temos refrações com bordo.especular temos refrações com bordo.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoDistribuited Ray TracingDistribuited Ray Tracing

Page 23: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

ShadingShadingO cálculo de Shading pode ser feito com menos contas O cálculo de Shading pode ser feito com menos contas distribuindo os raios.distribuindo os raios.

Os raios de iluminação podem ser distribuídos de Os raios de iluminação podem ser distribuídos de acordo com a função de iluminação acordo com a função de iluminação L L ..

Os raios refletidos podem ser distribuídos de acordo Os raios refletidos podem ser distribuídos de acordo com a função de reflexão com a função de reflexão RR . .

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoDistribuited Ray TracingDistribuited Ray Tracing

Page 24: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

GlossGlossGloss é a forma como a superfície reflete o ambiente. Gloss é a forma como a superfície reflete o ambiente. Normalmente não é como um espelho.Normalmente não é como um espelho.

Pode ser calculado distribuindo os raios de acordo com Pode ser calculado distribuindo os raios de acordo com a direção especular.a direção especular.

O valor do pixel é uma média dos raios com peso dado O valor do pixel é uma média dos raios com peso dado de acordo com a mesma função de distribuição que de acordo com a mesma função de distribuição que determina os highlights.determina os highlights.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoDistribuited Ray TracingDistribuited Ray Tracing

Page 25: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

TranslucencyTranslucencyTranslucency não é como transparência pois os raios Translucency não é como transparência pois os raios ao passar pela superfície podem ter uma mudança de ao passar pela superfície podem ter uma mudança de direção.direção.

Ela é calculada distribuindo os raios de acordo com a Ela é calculada distribuindo os raios de acordo com a direção principal do raio transmitido.direção principal do raio transmitido.

A distribuição dos raios é feita de acordo com uma A distribuição dos raios é feita de acordo com uma função de transmitância especular.função de transmitância especular.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoDistribuited Ray TracingDistribuited Ray Tracing

Page 26: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

PenumbraPenumbraPenumbra ocorre onde uma fonte de luz é Penumbra ocorre onde uma fonte de luz é parcialmente encoberta. parcialmente encoberta.

Para calcular uma região de sombra traçamos raios que Para calcular uma região de sombra traçamos raios que passam por uma fonte de luz até a superfície que esta passam por uma fonte de luz até a superfície que esta encobrindo uma região.encobrindo uma região.

Para calcular a penumbra distribuímos os raios que Para calcular a penumbra distribuímos os raios que partem da superfície.partem da superfície.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoDistribuited Ray TracingDistribuited Ray Tracing

Page 27: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Depth of FieldDepth of FieldDepth of Field pode ser simulado com Ray Tracing Depth of Field pode ser simulado com Ray Tracing Distribuído.Distribuído.

Uma lente é colocada na frente do plano de visão.Uma lente é colocada na frente do plano de visão.

O ponto focal é colocado a uma distância fixada da O ponto focal é colocado a uma distância fixada da lente na direção do primeiro raio.lente na direção do primeiro raio.

Os outros raios mandados pelo mesmo pixel vão ser Os outros raios mandados pelo mesmo pixel vão ser distribuídos sobre a lente e vão passar pelo ponto focaldistribuídos sobre a lente e vão passar pelo ponto focal

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoDistribuited Ray TracingDistribuited Ray Tracing

Page 28: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Motion BlurMotion BlurMotion Blur aparece quando os objetos estão se Motion Blur aparece quando os objetos estão se movendo com relação a câmera.movendo com relação a câmera.

Pode ser calculado com uma amostragem dos raios no Pode ser calculado com uma amostragem dos raios no tempo.tempo.

Os objetos que se moverem mais vão aparecer mais Os objetos que se moverem mais vão aparecer mais borrados.borrados.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoDistribuited Ray TracingDistribuited Ray Tracing

Page 29: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

ShadowShadow

●Ray Tracing Ray Tracing ●Ray Tracing distribuído, com 10, 20 e 50 raios.Ray Tracing distribuído, com 10, 20 e 50 raios.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoExemplosExemplos

Page 30: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

GlossGloss

●Ray Tracing Ray Tracing ●Ray Tracing distribuído, com 10, 20 e 50 raios.Ray Tracing distribuído, com 10, 20 e 50 raios.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoExemplosExemplos

Page 31: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

TranslucencyTranslucency

●Ray Tracing Ray Tracing ●Ray Tracing distribuído, com 10 e 20 raios.Ray Tracing distribuído, com 10 e 20 raios.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoExemplosExemplos

Page 32: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Motion BlurMotion Blur

19841984

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoExemplosExemplos

Page 33: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

1984, detalhe da bola 4

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoExemplosExemplos

Page 34: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Motion Blur

The Adventures of André & Wally B.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoExemplosExemplos

Page 35: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Motion BlurMotion Blur

The Adventures of André & Wally B.

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoExemplosExemplos

Page 36: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Depth of FieldDepth of Field

Young Sherlock Holmes

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoExemplosExemplos

Page 37: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Exemplo de penumbra e reflexão

Ray Tracing Estocástico e DistribuidoRay Tracing Estocástico e DistribuidoExemplosExemplos

Page 38: Ray Tracing Estocástico e Distribuido Aruquia Barbosa.

Stochastic Sampling in Computer Graphics- Robert Stochastic Sampling in Computer Graphics- Robert L. CookL. Cook

Distributed Ray Tracing- Robert L. Cook, Thomas Distributed Ray Tracing- Robert L. Cook, Thomas Porter, Loren CarpenterPorter, Loren Carpenter

An Introduction to Ray Tracing- Edited by Andrew An Introduction to Ray Tracing- Edited by Andrew S. GlassnerS. Glassner

Ray Tracing Estocástico e DistribuidoReferências