1 Cidadania Júlio César de Moraes Cidadania Júlio César de Moraes.
04/07/07 RTDistribuído César Palomo 1 Fundamentos de CG Prof Marcelo Gattass 2007-s01 Trabalho 3...
Transcript of 04/07/07 RTDistribuído César Palomo 1 Fundamentos de CG Prof Marcelo Gattass 2007-s01 Trabalho 3...
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