04/07/07 RTDistribuído César Palomo 1 Fundamentos de CG Prof Marcelo Gattass 2007-s01 Trabalho 3...

Preview:

Citation preview

04/07/07 RTDistribuído César Palomo <mail: cpalomo at inf.puc-rio.br>

1

Fundamentos de CGProf Marcelo Gattass

2007-s01

Trabalho 3 – Ray Tracing Distribuído

César Palomo

04/07/07 RTDistribuído César Palomo <mail: cpalomo at inf.puc-rio.br>

2

Ray Tracing Para cada pixel:

Calcular reta que une centro de projeção ao centro deste ponto

Determinar interseções desta reta com objetos da cena (etapa onerosa)

Pintar o ponto com a cor do objeto mais próximo (leva em conta iluminação)

04/07/07 RTDistribuído César Palomo <mail: cpalomo at inf.puc-rio.br>

3

Ray Tracing

04/07/07 RTDistribuído César Palomo <mail: cpalomo at inf.puc-rio.br>

4

Prós e contras

Permite geração de imagens foto-realistas

Baixa performance (se comparado a Z-Buffer, por exemplo)

Aliasing Sombras bem definidas

(Sharp Shadows) Todos os objetos em

foco Objetos em movimento

aparecem congeladosAmostragem uniforme

04/07/07 RTDistribuído César Palomo <mail: cpalomo at inf.puc-rio.br>

5

Ray Tracing Distribuído Intensidade de um pixel na tela é uma

função analítica que envolve integrais complexas

RT Distribuído avalia integrais lançando vários raios na mesma região segundo uma distribuição estocástica

Avaliação de Monte Carlo das integrais pelo conjunto de raios lançados

04/07/07 RTDistribuído César Palomo <mail: cpalomo at inf.puc-rio.br>

6

Ray Tracing Distribuído Permite calcular cores médias mais

corretas, pois raios são melhor distribuídos dentro da área de contribuição luminosa para um determinado pixel

Distribuição aleatória introduz ruído uniformemente distribuído pela imagem: como a visão humana é mais tolerante a ruído aleatório do que a singularidades locais, resulta em melhores resultados visuais

04/07/07 RTDistribuído César Palomo <mail: cpalomo at inf.puc-rio.br>

7

Ray Tracing Distribuído Processo:

Dividir o pixel em uma grade mxn. Para subpixel desta grade, lançar um

raio aleatório e processa de modo idêntico ao ray tracing convencional

Depois de lançar um raio para cada subpixel, efetuar uma ponderação dos valores medidos para obtenção da cor final

04/07/07 RTDistribuído César Palomo <mail: cpalomo at inf.puc-rio.br>

8

Efeitos interessantes Penumbra Antialiasing Motion Blur Depth of field

04/07/07 RTDistribuído César Palomo <mail: cpalomo at inf.puc-rio.br>

9

Proposta inicial Implementação do Ray Tracing

Distribuído partindo do programa disponibilizado pelo professor

Comparar resultados obtidos com respeito a Antialiasing, Motion Blur e Depth of field

04/07/07 RTDistribuído César Palomo <mail: cpalomo at inf.puc-rio.br>

10

O que foi desenvolvido Implementação do Ray Tracing

Distribuído partindo do programa disponibilizado pelo professor

Comparação de resultados obtidos com respeito a Antialiasing

Motion Blur e Depth of field: future work

04/07/07 RTDistribuído César Palomo <mail: cpalomo at inf.puc-rio.br>

11

Antialiasing: comparação do RT Convencional X Distribuído

04/07/07 RTDistribuído César Palomo <mail: cpalomo at inf.puc-rio.br>

12

Antialiasing: comparação do RT Convencional X Distribuído

04/07/07 RTDistribuído César Palomo <mail: cpalomo at inf.puc-rio.br>

13

Iluminação global Foi implementada uma tentativa de

cálculo de illuminação global em cada ponto de interseção de um raio com um objeto

Contribuição direta: calculada do mesmo modo como no Ray Tracing convencional

Contribuição indireta: raios aleatórios ao longo de uma casca esférica de raio unitário

04/07/07 RTDistribuído César Palomo <mail: cpalomo at inf.puc-rio.br>

14

Iluminação global: 500 raios RT x RTD

04/07/07 RTDistribuído César Palomo <mail: cpalomo at inf.puc-rio.br>

15

Trabalho futuro Testar motion blur e depth of field com

Ray Tracing Distribuído Realizar penumbra com Ray Tracing

Distribuído através de fontes luminosas não pontuais

Estudar modelos mais fiéis para cálculo da iluminação global: checar photon mapping e cálculo de radiância com ray tracing

Recommended