Iluminação e FotoRealismo: R adiosidade Luís Paulo Peixoto dos Santos .
Transcript of Iluminação e FotoRealismo: R adiosidade 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
2004/05
Premissas
• Todas as interacções dos objectos com a luz são difusas
),()( xLxL
• Podemos então quantificar a radiosidade (W/m2) em vez da radiância
)(),cos()(),cos()()( xLNxLNxLxB wxwx
• A BRDF fr (x,Θ↔Ψ) é independente das direcções
)(
)(),(x
xfxf drr
A BRDF ρd (x) é o coeficiente de reflexão difuso (dependente de λ)
Iluminação e FotoRealismo 3
2004/05
Premissas
• A geometria é subdividida em patches, geralmente poligonais
• A qualidade final depende da granularidade da subdivisão em patches
• Esta pode ser decidida antes da execução ou refinada durante a mesma
Iluminação e FotoRealismo 4
2004/05
Premissas
• O coeficiente de reflexão difuso é constante para cada patch Pi
iPxix ,)(
• A radiosidade é constante ao longo da área de cada patch Pi
i
iA Ai
i xBA
B )(1
Iluminação e FotoRealismo 5
2004/05
Formulação Matemática
• Fji é designado por form-factor e indica a fracção da radiosidade Bj reflectida por Pj que chega a Pi. Este valor relaciona-se apenas com a geometria da cena e exibe a seguinte propriedade:
j
jii
jjiei FA
ABBB
i
jii
jijiijjji F
A
AFAFAF
logo:
j
ijjiei FBBBi
Iluminação e FotoRealismo 6
2004/05
Form factors - Complexidade
• O form factor é um integral duplo de difícil resolução analítica• Indica a fracção de radiosidade emitida pelo patch i que incide no
patch j• O seu valor depende da geometria: visibilidade mútua, distância, área
e orientação relativa dos patches• O cálculo dos form factors tem uma copmplexidade O(n2), podendo
rapidamente tornar-se a componente mais dispendiosa do algoritmo
iji j
AAA A
jiji
iij r
xxV
AF 2
)cos()cos(),(1
Iluminação e FotoRealismo 7
2004/05
Sistema de Equações
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:
j
ijjiei FBBBi
ne
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 8
2004/05
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 rediosidade sobre si mesmo
• Em ambientes complexos a maioria dos Fij são 0, pois os patches i e j não são mutuamente visíveis
• Bi, Bei e ρi são dependentes do comprimento de onda; implica resolver 3 sistemas para o espaço RGB
• Fij num meio participativo também depende do comprimento de onda; aspecto geralmente ignorado devido à complexidade dos cálculos
Iluminação e FotoRealismo 9
2004/05
Rendering
• As radiosidades são calculadas 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 dos vértices sejam conhecidas. Sintetiza-se assim uma imagem a partir de qualquer ponto de vista.
Ba Bb
Bc Bd
4dcba BBBB
Iluminação e FotoRealismo 10
2004/05
Resolução do sistema - gathering
• O método de Gauss-Seidel computa aproximações Bti a partir da aproximação Bt-1
i. A resolução é feita linha a linha.
• B0i=Bei, sendo 0 para todos os patches não auto-emissores
1
1
11
21
1 1
tn
ti
t
iniiiii
e
e
e
tn
ti
t
B
B
B
FFF
B
B
B
B
B
B
n
i
• Cada patch Pi recolhe (gathers) radiosidade de todos os outros patches
• A resolução de cada linha da matriz calcula apenas um Bti
• Uma iteração percorre todas as linhas; calcula novo Bti para todos os patches
• Uma iteração implica o cálculo de todos os n2 form factors
Iluminação e FotoRealismo 11
2004/05
Radiosidade Progressiva
• A principal desvantagem do método anterior é que a resolução de uma linha da matriz aproxima a iluminação de apenas um patch
• Uma iteração aproxima a iluminação de todos os patches mas implica o cálculo de n2 form factors
• O objectivo da radiosidade progressiva é conseguir rapidamente uma aproximação à iluminação de todos os patches
• Esta aproximação é refinada com mais iterações
• O refinamento prograssivo é conseguido reordenando a forma como a radiosidade é calculada
Iluminação e FotoRealismo 12
2004/05
Radiosidade Progressiva - shooting
• A radiosidade clássica (gathering) calcula, para cada linha, a radiosidade de um patch i, Bt
i, devida à radiosidade de todos os patches Bt-1j
• A radiosidade progressiva (shooting) calcula, para cada coluna, a radiosidade Bt
j de todos os patches devida à radiosidade Bt-1i do patch i
jiijijj FBBBB a devida
• Btj = Bt-1
j+∆Bj
• Para cada coluna da matriz apenas é necessário calcular n form factors para o patch Pi cuja radiosidade está a ser propagada (shooting)
Iluminação e FotoRealismo 13
2004/05
Radiosidade Progressiva
nin
i
i
ti
tn
t
t
tn
t
t
F
F
F
B
B
B
B
B
B
B
22
11
1
1
12
11
2
1
jB
jijti
tj
tj FBBB
11
Iluminação e FotoRealismo 14
2004/05
Radiosidade Progressiva
• Inicialmente Bi0=Bei.
• 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
no instante t 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 15
2004/05
Radiosidade Progressiva
1 iteração 2 iterações
3 iterações 16 iterações Geometria da cena
Iluminação e FotoRealismo 16
2004/05
Radiosidade Progressiva
Iluminação e FotoRealismo 17
2004/05
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
• ou refinada durante a execução do próprio algoritmo, e.g., discontinuity meshing
Iluminação e FotoRealismo 18
2004/05
Refinamento da grelha de patches
Iluminação e FotoRealismo 19
2004/05
Refinamento da grelha de patches
Iluminação e FotoRealismo 20
2004/05
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
dAj
dAi
Patch i
r
θj
Iluminação e FotoRealismo 21
2004/05
Form factors - HemiCubo
• Analogia de Nusselt – O polígono, as suas projecções no hemicubo e na hemisfera têm os mesmos form factors
• Esta analogia permite usar projecções dos patches no hemicubo para calcular form factors
Iluminação e FotoRealismo 22
2004/05
Form factors - HemiCubo
A área ∆A é igual para todos os elementos (pixeis) do hemicubo. ∆Fq para cada elemento é dado por:
Pixel com área ∆A
Ar
F jiq
2
coscos
Patch j
q
qij FF
Iluminação e FotoRealismo 23
2004/05
Form factors - HemiCubo
• Para cada patch i todos os patches j devem ser projectados no hemicubo
• Vários patches 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çe do 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 24
2004/05
Form factors: ray tracing
• Em vez do hemicubo pode ser usada a hemisfera unitária centgrada em Pi, com a superfície dividida em áreas elementares
• Cada área elementar corresponde aos ângulos (∆φ,∆θ)
∆θ
∆φ
θ
φ)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 25
2004/05
Form factors: ray tracing
• Cada área elementar dá origem a um raio que determina qual o patch visível ao longo daquela direcção
∆θ
∆φ
θ
φ
q
lmij FF
• A opção pelo hemicubo ou pelo ray tracing depende do desempenho dos algoritmos de projecção e de intersecção utilizados
Iluminação e FotoRealismo 26
2004/05
Radiosidade: Imagens
Iluminação e FotoRealismo 27
2004/05
Radiosidade: Imagens
Iluminação e FotoRealismo 28
2004/05
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.