Iluminação e FotoRealismo:
Radiosidade
Luís Paulo Peixoto dos Santos
http://gec.di.uminho.pt/mcgav/ifr
Premissas
•
Todas as interacções dos objectos com a luz são difusas
L( x  )  L( x),
•
Podemos então quantificar a radiosidade (W/m2) em vez da radiância


B( x)   L( x) cos(N x , ) w  L( x) cos(N x , ) w  L( x)

•

A BRDF fr (x,Θ↔Ψ) é independente das direcções
f r ( x,    )  f r ( x ) 
 d ( x)

A BRDF ρd (x) é o coeficiente de reflexão difuso (dependente de λ)
Iluminação e FotoRealismo
2004/05
2
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
2004/05
3
Premissas
• O coeficiente de reflexão difuso é constante para cada patch Pi
 ( x)  i , xP
i
• A radiosidade é constante ao longo da área de cada patch Pi
1
Bi 
Ai

Ai
B( x) Ai
Iluminação e FotoRealismo
2004/05
4
Formulação Matemática
Bi  Bei  i  B j
Aj
Ai
j
Fji
• 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:
Fji Aj  Fij Ai  Fij 
logo:
Aj
Ai
Fji
Bi  Bei  i  B j Fij
j
Iluminação e FotoRealismo
2004/05
5
Form factors - Complexidade
1
Fij 
Ai

Ai A j
V ( xi , x j ) cos(i ) cos( j )
r
2
 Aj  Ai
• 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
Iluminação e FotoRealismo
2004/05
6
Sistema de Equações
Bi  Bei  i  B j Fij
j
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:
1  1 F11  1 F12
 F
1   2 F22
2 21

 



 
   n Fn1   n Fn 2
 
 
 
 
 
 1 F1n   B1   Be1 
B 



  2 F2 n   B2   e2 
      

   

     
1   n Fnn   Bn   Ben 
Iluminação e FotoRealismo
2004/05
7
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
2004/05
8
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
Ba  Bb  Bc  Bd
4
Iluminação e FotoRealismo
2004/05
9
Resolução do sistema - gathering
•
•
O método de Gauss-Seidel computa aproximações Bti a partir da aproximação
Bt-1i. A resolução é feita linha a linha.
B0i=Bei, sendo 0 para todos os patches não auto-emissores
 B1t   Be1   
     
      
 Bit    Bei    i Fi1
    
       
 B t   Be   
 n  n 
•
•
•
•


 i Fi 2












  B1t 1 





 i Fin   Bit 1 


   
   Bnt 1 


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
2004/05
10
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
2004/05
11
Radiosidade Progressiva - shooting
• A radiosidade clássica (gathering) calcula, para cada linha, a
radiosidade de um patch i, Bti, devida à radiosidade de todos os
patches Bt-1j
• A radiosidade progressiva (shooting) calcula, para cada coluna, a
radiosidade Btj de todos os patches devida à radiosidade Bt-1i do patch i
B j  B j devida a Bi   j Bi Fji
• Btj = Bt-1j+∆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
2004/05
12
Radiosidade Progressiva
 B1t   B1t 1       1 F1i
 t   t 1  


 B2   B2        2 F2i
         Bit 1    
  
 

           
 B t   B t 1        F
  n ni
 n  n  
B B
t
j
t 1
j
 

 
 

 
 
 B  j Fji



t 1
i
B j
Iluminação e FotoRealismo
2004/05
13
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
2004/05
14
Radiosidade Progressiva
1 iteração
2 iterações
3 iterações
16 iterações
Geometria da cena
Iluminação e FotoRealismo
2004/05
15
Radiosidade Progressiva
Iluminação e FotoRealismo
2004/05
16
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
2004/05
17
Refinamento da grelha de patches
Iluminação e FotoRealismo
2004/05
18
Refinamento da grelha de patches
Iluminação e FotoRealismo
2004/05
19
Cálculo dos form-factors
1
Fij 
Ai
 
Ai
Aj
V ( xi , y j )
cos( i ) cos( j )
r
2
 Aj  Ai
• Fij representa a fracção da
radiosidade emitida por Pj que
incide em Pi.
• O cálculo analítico dos formfactors é dispendioso,
recorrendo-se a soluções
geométricas.
θ
dAj
θi rj
dAi
Patch i
Iluminação e FotoRealismo
2004/05
20
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
2004/05
21
Form factors - HemiCubo
Pixel com área ∆A
Patch j
A área ∆A é igual para todos os elementos
(pixeis) do hemicubo. ∆Fq para cada
elemento é dado por:
Fq 
cos i cos j
 r2
A
Fij   Fq
q
Iluminação e FotoRealismo
2004/05
22
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
2004/05
23
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 (∆φ,∆θ)
    2 / k
  [0,2 [,  l *  , l  0,1,...,k  1
  [0,  / 2[,  m *  , m  0,1,...,k / 4
A   sin 
2
Flm  2 sin(2 )
k
∆θ
θ
φ
∆φ
Iluminação e FotoRealismo
2004/05
24
Form factors: ray tracing
• Cada área elementar dá origem a um raio que determina qual o patch
visível ao longo daquela direcção
Fij   Flm
q
∆θ
• 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
2004/05
25
Radiosidade: Imagens
Iluminação e FotoRealismo
2004/05
26
Radiosidade: Imagens
Iluminação e FotoRealismo
2004/05
27
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.
Iluminação e FotoRealismo
2004/05
28
Download

ppt