mestrado em computação gráfica e
ambientes virtuais
universidade do minho
BI-DIRECTIONAL PATH TRACING
Iluminação e FotoRealismo
FILIPE MARREIROS, SÉRGIO VALENTIM
2004
BI-DIRECTIONAL PATH TRACING
Bi-Directional Path Tracing
- Método com base no pixel
- Computa o transporte de fluxos de luz na cena para
cada pixel da imagem
- Introduzido em simultâneo por
- Lafortune, Willems, 1993
- Veach, Guibas, 1994
ILUMINAÇÃO E FOTOREALISMO
2
BI-DIRECTIONAL PATH TRACING
Antecedentes
- Todos os algoritmos eram construídos à volta da importância de um dos
seguintes factores:
- viewing point (ex: ray tracing, ray tracing distribuído)
- view-dependent
- das fontes de luz (ex: radiosidade)
- view-independent
- Não existia portanto um algoritmo que tomasse em consideração ambos os
factores de interesse.
ILUMINAÇÃO E FOTOREALISMO
3
BI-DIRECTIONAL PATH TRACING
Bi-Directional Path Tracing
- Têm em consideração os 2 factores (ponto de vista e as fontes de luz)
- a importância atribuída é idêntica.
- Ideia Base:
- As partículas são disparadas ao mesmo tempo do ponto de vista e de 1 fonte de
luz, ± da mesma forma.
- Todas os pontos de intersecção com os percursos de partículas são conectados
usando shadow rays.
- A contribuição apropriada é adicionada ao fluxo do pixel em questão.
ILUMINAÇÃO E FOTOREALISMO
4
BI-DIRECTIONAL PATH TRACING
Exemplo
ILUMINAÇÃO E FOTOREALISMO
5
BI-DIRECTIONAL PATH TRACING
Exemplo
ILUMINAÇÃO E FOTOREALISMO
6
BI-DIRECTIONAL PATH TRACING
Vantagens
- Esta abordagem permite que várias contribuições de
luz sejam tomadas em consideração.
- Ou seja, não apenas da fonte de luz primária mas de
uma forma probabilística também de importantes
fontes de luz secundárias, terceárias, ...
ILUMINAÇÃO E FOTOREALISMO
7
BI-DIRECTIONAL PATH TRACING
Pontos e direcções dos percursos
- Percurso da luz:
-x0, x1, x2, ..., xNl ;
-onde xi+1 é o ponto visto pelo ponto xi na direcção Θxi
- Percurso do olho:
-y0, y1, y2, ..., yNe-1 ;
-onde yj+1 é o ponto que vê o ponto yj na direcção Θyj+1
ILUMINAÇÃO E FOTOREALISMO
8
BI-DIRECTIONAL PATH TRACING
Atribuição das direcções e pontos iniciais
- Direcções e pontos iniciais:
- Percurso do olho: Θy0 , y0
- Percurso da luz: Θx0 , x0
- Para definir os pontos e direcções iniciais é necessário recorrer
a amostras obtidas pelas pdfs (probability distribution function)
- Estas pdf são baseadas no princípio de importance sampling.
- Assegura que mais partículas de luz sejam disparadas de emissores
brilhantes em vez de uma distribuição uniforme
ILUMINAÇÃO E FOTOREALISMO
9
BI-DIRECTIONAL PATH TRACING
Importance Sampling
- É uma técnica matemática que permite que a convergência do algoritmo de
Monte Carlo seja mais rápida (aumento da eficiência).
- Existe uma atribuição de pesos diferenciados (importância) às amostras com
o objectivo de aumentar a contribuição para o integral
- maior amostragem nos valores que contribuem mais
- [Smits et al.92], introduziu o conceito de Importance Sampling optimizando
o algoritmo de radiosidade (radiosidade progressiva).
- No algoritmo proposto é disparada luz das fontes de luz e importância do
viewpoint
ILUMINAÇÃO E FOTOREALISMO
10
BI-DIRECTIONAL PATH TRACING
pdfs das direcções e pontos iniciais
-Percurso da luz:
pdf ( x,  x ) 
Le ( x,  x )  x  N x
L
- Le (x,Θx) – Radiância auto-emitida do ponto
x na direcção Θx
L

A x
Le ( x,  x )  x  N x d x d x
- L – factor de normalização da pdf
ILUMINAÇÃO E FOTOREALISMO
11
BI-DIRECTIONAL PATH TRACING
pdfs das direcções e pontos iniciais
- Percurso do olho:
pdf ( y,  y ) 
g ( y,  y )  y  N y
G
- g(y,Θy)– Função que atribui o valor 1 aos
pontos e direcções (y,Θy) que contribuem
para o fluxo e 0 caso contrário.
G

A y
g ( y,  y )  y  N y d y d y
- G – factor de normalização da pdf
ILUMINAÇÃO E FOTOREALISMO
12
BI-DIRECTIONAL PATH TRACING
Atribuição das restantes direcções e pontos
- Direcções e pontos restantes:
- Percurso do olho: Θyj+1 , yj+2
- Percurso da luz: Θxi+1 , xi+1
- Recorre-se mais uma vez às pdfs
- baseadas também no princípio de importance sampling.
- São designadas por pdf subcriticas (spdf), porque não integram
a 1.
- técnica designada por Russian roulette.
- evita percursos infinitos garantindo que a recursão termina.
ILUMINAÇÃO E FOTOREALISMO
13
BI-DIRECTIONAL PATH TRACING
pdfs das restantes direcções e pontos
- Percurso da luz:
pdf ()  f r ( xi1 ,  xi , )  x  N x i 1
 f r ( x, in , out ) Bi-directional reflection
distribution function
(BRDF)
ILUMINAÇÃO E FOTOREALISMO
14
BI-DIRECTIONAL PATH TRACING
pdfs das restantes direcções e pontos
- Percurso do olho:
pdf ()  f r ( xi 1 , ,  y j )  y  N y j
ILUMINAÇÃO E FOTOREALISMO
15
BI-DIRECTIONAL PATH TRACING
Estimativa primária do fluxo
- Todos os pontos dos percursos traçados dos raios de luz e do
olho são conectados
- De acordo com técnica de Importance Sampling:
Nl
Ne
   wij Cij
i 0 j 0
- Os factores <Cij> são estimativas do fluxo encontrado por i
reflecções no percurso da luz e j reflecções no percurso do
olho
ILUMINAÇÃO E FOTOREALISMO
16
BI-DIRECTIONAL PATH TRACING
Estimativa primária do fluxo
- Existem 3 casos distintos:
-
i=0, j=0
fonte de luz vista directamente pelo observador;
i=0, j>0
contribuições que chegam ao olho através do percurso do olho;
i>0, j>0
contribuições que chegam ao olho através do percurso do olho e do
percurso da luz;
ILUMINAÇÃO E FOTOREALISMO
17
BI-DIRECTIONAL PATH TRACING
Estimativa do fluxo (Caso i=0,j=0)
- Estimativa do fluxo recebido por uma fonte de luz
directamente vista através do pixel em consideração:
C00  G  Le ( y0 ,  y0 )
ILUMINAÇÃO E FOTOREALISMO
18
BI-DIRECTIONAL PATH TRACING
Estimativa do fluxo (Caso i=0,j>0)
- Estimativa do fluxo que chega ao olho vindo de uma fonte
de luz através do percurso do olho
C0 j  L'G  Le ( x0 ,  x0  y j1 )
 f r ( y j 1 ,  x0  y j1 ,  y j1 )

 x 0 y j1  N x 0  x 0 y j1  N y j 1
ILUMINAÇÃO E FOTOREALISMO
x0  y j 1
2
v( x0 , y j 1 )
 x y
Direcção do ponto x para
o ponto y
v ( x, y )
Visibilidade
19
BI-DIRECTIONAL PATH TRACING
Estimativa do fluxo (Caso i>0,j>0)
- Estimativa do fluxo que chega ao olho vindo de uma fonte
de luz, com i reflecções no percurso da luz e j reflecções no
percurso do olho
Cij  L  G  f r ( xi ,  xi1 ,  xi  y j1 )
 f r ( y j 1 ,  xi  y j1 ,  y j1 )

 xi  y j1  N xi  xi  y j1  N y j 1
ILUMINAÇÃO E FOTOREALISMO
xi  y j 1
2
v( xi , y j 1 )
 x y
Direcção do ponto x para
o ponto y
v ( x, y )
Visibilidade
20
BI-DIRECTIONAL PATH TRACING
Atribuição de pesos
- Como seleccionar os pesos wij das contribuições Cij ?
- Condição: o somatório dos pesos para a estimativas dos
fluxos que chegam ao olho tem de ser igual a 1
N
w , N i 1
i 0
i
- Opção que equivale ao algoritmo path tracing clássico
wij  1, para i  0
wij  0, para i  0
ILUMINAÇÃO E FOTOREALISMO
21
BI-DIRECTIONAL PATH TRACING
Atribuição de pesos
- Alternativa:
- Para superfícies especulares atribui-se mais peso ao percurso do olho
- Para superfícies difusas a contribuições do percurso da luz são mais
importantes
- O peso W j é proporcional ao grau de especularidade da superfície no
ponto y j no percurso do olho
ILUMINAÇÃO E FOTOREALISMO
22
BI-DIRECTIONAL PATH TRACING
Estimativa secundária do fluxo
- Problema com primeira estimativa do fluxo
- Grande variância (imagens com turbulência aleatória)
-Solução: usar estimativa secundária
- Média de várias estimativas primárias para cada pixel
ILUMINAÇÃO E FOTOREALISMO
23
BI-DIRECTIONAL PATH TRACING
Implementação e resultados
- Com recurso a rotinas Rayshade
- brdf’s com modelo de Phong
- Outro exemplo: RenderPark (linux)
ILUMINAÇÃO E FOTOREALISMO
24
BI-DIRECTIONAL PATH TRACING
Referências
- Lafortune, E., Willems, Y.D.: Bi-directional Path-Tracing, Compugraphics,
1993
- Eric Veach, Leonidas J. Guibas: Bidirectional Estimators for Light Transport,
Proceedings of Fifth Eurographics Workshop on Rendering, 1994
ILUMINAÇÃO E FOTOREALISMO
25
BI-DIRECTIONAL PATH TRACING
Renderings
ILUMINAÇÃO E FOTOREALISMO
26
BI-DIRECTIONAL PATH TRACING
Renderings
ILUMINAÇÃO E FOTOREALISMO
27
Download

ppt