Iluminação e FotoRealismo: R adiosidade Luís Paulo Peixoto dos Santos .
Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .
Transcript of Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .
Iluminação e FotoRealismo:Radiosidade
Luís Paulo Peixoto dos Santos
http://gec.di.uminho.pt/mcgav/ifr
Iluminação e FotoRealismo 2
2003/04
Premissas
• Todas as interacções da luz com os objectos são difusas
sxLxL ),()(
• Expressa em termos de radiosidade (W/m2)
)(),cos()(),cos()()( xLNxLNxLxBss
xx
• A BRDF fr(x,↔) é independente das direcções
)(
)(),(x
xfxf drr
onde ρd(x) é o coeficiente de reflexão difuso (dependente de λ)
Iluminação e FotoRealismo 3
2003/04
Premissas
• A geometria é subdividida em patches Pi (geralmente poligonais)
• A qualidade da solução final depende da granularidade da subdivisão em patches
• Esta pode ser decidida antes da execução (e.g. radiosidade hierárquica) ou refinada em tempo de execução
Iluminação e FotoRealismo 4
2003/04
Premissas
• O coeficiente de reflexão difuso é constante para cada patch
iPxix ,)(
• A radiosidade é constante para cada patch
i
iA Ai
i xBA
B )(1
Iluminação e FotoRealismo 5
2003/04
Formulação matemática
• A equação de rendering cada ponto x de um patch i é :
A Aeii y
yxGyxVyBx
xBxB ),(),()()(
)()(
• Integrando para a área de Pi (Ai) e assumindo que B e ρ são constantes para Pi
i
iyA AA Ai
dieiii
yxGyxVyB
AABAB
),(),(
)(1
• Convertendo o integral da área de todos os outros patches num somatório das várias áreas dos patches Pj
j
A AA Ai
dieiiii
ij
j
yxGyxVyB
AABAB
),(),(
)(1
Iluminação e FotoRealismo 6
2003/04
Formulação matemática
• Assumindo que a radiosidade é constante ao longo de cada patch Pj
j
A AA Ai
jjdieiiii
ij
j
yxGyxV
AABABAB
),(),(1
Obtemos a equação da radiosidade
j
jii
jjdeii FA
ABBB
• Dividindo dos 2 lados por Ai
j
A AA Aii
jjdeii
ii
jj
yxGyxV
AA
ABBB
),(),(1
Iluminação e FotoRealismo 7
2003/04
Formulação matemática
j
jii
jjdeii FA
ABBB
Fji é designado por form-factor e indica a fracção de radiosidade emitida por Pj que incide em Pi. Os form factors exibem a seguinte propriedade:
i
jjiijiijjji A
AFFAFAF
logo:
j
ijjdeii FBBB
Iluminação e FotoRealismo 8
2003/04
Form-Factors - complexidade
ii j
ii j
AAjA A
jiji
iij
AAjA A
jiji
iij
r
yxV
AF
yxGyxV
AF
2
)cos()cos(),(1
),(),(1
O form factor é um integral duplo de difícil resolução analítica.Indica a quantidade de radiosidade emitida pelo patch j que incide no patch i.O seu valor depende da geometria: visibilidade mútua, distância, orientação e área
dos patches.O cálculo dos form-factors tem uma complexidade O(n2), podendo rapidamente
tornar-se a componente mais dispendiosa do algoritmo.
Iluminação e FotoRealismo 9
2003/04
Sistema de equações
j
ijjdeii FBBB
Num ambiente fechado existe uma solução para cada Bi que pode ser obtida resolvendo um sistema de n equações com n2 form-factors
en
e
e
nnnnnnnn
n
n
B
B
B
B
B
B
FFF
FFF
FFF
2
1
2
1
21
22222212
11121111
1
1
1
Iluminação e FotoRealismo 10
2003/04
Propriedades do sistema de equações• Os valores Bei são diferentes de 0 apenas para os patches correspondentes a
fontes de luz
• Fii é igual a 0 para patches planares ou convexos.O patch não emite radiosidade sobre si mesmo.
• Em ambientes complexos um grande número de Fij serão 0 pois os patches Pi e Pj não são mutuamente visíveis
• A matriz de form-factors é uma matriz dispersa que pode ser resolvida numericamente usando o método de Gauss-Seidel
• Bi, Bei e ρi são dependentes do comprimento de onda, implicando a resolução de 3 sistemas.
• Os form-factors num meio participativo também são dependentes do comprimento de onda. Este aspecto é geralmente ignorado devido à complexidade do cálculo.
Iluminação e FotoRealismo 11
2003/04
Rendering
• As radiosidades são calculados no espaço dos objectos.
• O hardware gráfico pode ser usado para interpolar a radiosidade ao longo de cada patch (Gouraud shading) desde que as radiosidades nos vértices sejam conhecidas. Sintetiza-se assimuma imagem a partir de qualquer ponto de vista.
Ba Bb
Bc Bd
4dcba BBBB
Iluminação e FotoRealismo 12
2003/04
Resolução do sistema - gathering
• O método de Gauss-Seidel computa aproximações Bit a partir da
aproximação Bit-1. A resolução é feita linha a linha calculando um Bi
t em cada iteração.
• Bi0 = Bei, sendo 0 para todos os patches não auto-emissores.
1
1
11
21
11
tn
ti
t
iniiiii
en
ei
e
tn
ti
t
B
B
B
FFF
B
B
B
B
B
B
• Implica o cálculo inicial de todos os n2 form-factors.
• Cada patch Pi recolhe (gathers) radiosidade de todos os outros patches.
• Cada avaliação da matriz calcula apenas um Bit
Iluminação e FotoRealismo 13
2003/04
Radiosidade Progressiva
• A principal desvantagem do método anterior é que cada iteração aproxima a iluminação de apenas um patch
• Implica também o cálculo inicial de todos os n2 form-factors
• O objectivo da radiosidade progressiva é conseguir rapidamente uma aproximação à radiosidade de todos os patches
• Esta solução é depois refinada com mais iterações
• O refinamento progressivo é conseguido reordenando a forma como a radiosidade é calculada
Iluminação e FotoRealismo 14
2003/04
Radiosidade Progressiva
• Em lugar de calcular a aproximação Bit devida a todos os patches Pj com
radiosidade Bjt-1 vamos calcular a radiosidade Bj
t de todos os patches Pj devida à radiosidade Bi
t-1 do patch Pi
j
iijijjiijij A
AFBFBBB a devida
• Em cada iteração podemos calcular a variação de radiosidade ΔBj para todos os Pj devida ao patch Pi.
• Bjt+1 = Bj
t + ΔBj
• Para cada iteração apenas é necessário calcular n form-factors F ij para o patch i cuja radiosidade Bi
t está a ser propagada (shooting)
Iluminação e FotoRealismo 15
2003/04
Radiosidade progressiva
nin
i
i
ti
tn
t
t
tn
t
t
F
F
F
B
B
B
B
B
B
B
221
11
2
1
1
12
11
jj B
j j
iijj
ti
tj
B
jjij
ti
tj
tj A
AFBBFBBB
)()(1
Iluminação e FotoRealismo 16
2003/04
Radiosidade Progressiva
• Inicialmente Bi0=Bei
0. Qual deve ser a ordem pela qual se seleccionam os patches Pi que vão propagar a sua radiosidade?
• Estes devem ser ordenados por Bit. O patch Pi com maior radiosidade
Bit deve ser o primeiro a propagar a sua radiosidade para que a
solução convirja o mais rapidamente possível.
• O processo para quando os ΔBj forem menores que um determinado limite.
Iluminação e FotoRealismo 17
2003/04
Radiosidade Progressiva
Geometria da cena
1 iteração 2 iterações
3 iterações 16 iterações
Iluminação e FotoRealismo 18
2003/04
Radiosidade Progressiva
Iluminação e FotoRealismo 19
2003/04
Refinamento da grelha de patches
• A qualidade da solução depende da granularidade da grelha de patches
• Em zonas de alto gradiente (e.g. limites das sombras) o carácter discreto dos patches pode ser muito visível
• A grelha de patches pode ser definida de forma estática, antes da execução do algoritmo (e.g. radiosidade hierárquica [Hanrahan et al.91])
• ou refinada durante a execução do próprio algoritmo, e.g., discontinuity meshing
Iluminação e FotoRealismo 20
2003/04
Refinamento da grelha de patches
Iluminação e FotoRealismo 21
2003/04
Refinamento da grelha de patches
Iluminação e FotoRealismo 22
2003/04
Cálculo dos form-factors
• Fij representa a fracção da radiosidade emitida por Pj que incide em Pi.
• O cálculo analítico dos form-factors é dispendioso, recorrendo-se a soluções geométricas.
ii j
AAjA A
jiji
iij r
yxVA
F 2
)cos()cos(),(
1
θi
θj
dAj
dAi
Patch i
Patch jr
Iluminação e FotoRealismo 23
2003/04
Form-Factors: HemiCubo
Analogia de Nusselt - O polígono, a sua projecção no hemicubo e a sua projecção na hemisfera têm todos o mesmo form-factor.
Esta analogia permite usar projecções dos patches num hemicubo para calcular form factors
Iluminação e FotoRealismo 24
2003/04
Form-Factors: Hemicubo
q
qij FF
“pixel” A com área ΔA
A área ΔA é igual para todos os elementos do hemicubo. ΔFq para cada elemento é dada por:
Patch j
Patch i
Ar
F jiq
2
coscos
Para todos os Fq
onde Pj projecta
Iluminação e FotoRealismo 25
2003/04
Form-Factors: Hemicubo
• Para cada patch i todos os patches j devem ser projectados no hemicubo.
• Vários patches j projectam no mesmo “pixel” do hemicubo
• O algoritmo deve armazenar o ID do patch que projecta no “pixel” e a distância entre Pi e Pj (à semelhança de um Z-buffer)
• Para cada “pixel” apenas o patch Pj mais próximo interessa, pois todos os outros estarão ocludidos por este.
Iluminação e FotoRealismo 26
2003/04
Form-Factors: Ray Tracing
• Em vez de usar um hemicubo pode ser usada uma hemisfera de raio 1 centrada em Pi, com a superfície dividida em áreas elementares.
• Cada área elementar corresponde aos ângulos (Δφ, Δθ) com
)2sin(2
sin
4/,...,1,0),(],2/,0[
1,...,1,0),(],2,0[
/2
2
kF
A
kmm
kll
k
lm
Δφφ
Δθ
θ
Iluminação e FotoRealismo 27
2003/04
Form-Factors: Ray Tracing
• Cada área elementar (l,m) dá origem a um raio que determina qual o patch Pj visível ao longo daquela direcção
• O form-factor Fij é dado pela soma dos ΔFlm
Δφφ
Δθ
θ
q
lmij FF
• A opção pelo algoritmo do hemicubo ou pelo ray tracing depende do desempenho dos algoritmos de projecção e ray tracing utilizados.
Iluminação e FotoRealismo 28
2003/04
Radiosidade: Imagens
Iluminação e FotoRealismo 29
2003/04
Radiosidade: Imagens
Iluminação e FotoRealismo 30
2003/04
Radiosidade: Imagens
‘color bleeding’ – a parede branca assume um tom avermelhado nas zonas fortemente iluminadas devido às interreflexões difusas.Este efeito é de difícil modelação com ray tracing.