Modelli Globali e metodo di
Radiosity
Daniele Marini
1
Equazione fondamentale del
rendering
• Kajia (1986)


I(x, x')  g(x, x')(x, x')   (x, x', x")I(x, x')dx"


s
dove :
I(x, x') intensità della radiazione da x a x'
g(x, x') funzione geometrica di visibilità tra x e x'
(x, x') emittanza da x a x'
(x, x', x") riflettivita bidirezionale :
luce proveniente da x" riflessa in x verso x'
s unione di tutte le superfici
2
Radiosity
• Bilancio radiativo in un ambiente chiuso
(senza scambio di energia con l’esterno)
• Indipendente al punto di vista
3
Radiosity: principio base
• L’energia che lascia una patch è data dalla somma della
energia autoemessa (per le sorgenti) più l’energia che
raggiunge la patch dall’ambiente circostante e da questa
viene riflessa
• L’energia che proviene dall’ambiente circostante è data
dalla somma delle energie provenienti dalle altre patch
dell’ambiente chiuso
• L’ipotesi lambertiana fa si che l’energia che lascia una
patch lo faccia in modo uniforme rispetto all’emisfera
centrata sulla sua normale
4
Radiosity
• Nel calcolo della Radiosity tutte le superfici che interagiscono con la
luce vengono suddivise in patch
• Per un ambiente chiuso il bilancio energetico tra l’energia uscente dalle
sorgenti di luce e quella incidente e riflessa dalle superfici dà origine a
una situazione stazionaria
• La Radiosity calcola l’illuminamento o Uscita Luminosa M dalle patch
= flusso luminoso / unità d’area
M  d dA
• Da non confondere con la luminanza L che è un’altra grandezza:
L  d  (d  dA  cos )
2
5
Radiosity
• La radiosità M (sinonimo di uscita
luminosa) è l’energia totale che lascia una
superficie in un punto per unità d’area
•  è l’angolo solido sotteso dall’emisfera sul
punto x
• Espressa in termini di luminanza:
M ( , x )   L( , x,  ,  ) cos d

ma, per un diffusore ideale :
L( , x,  ,  )  L( , x ) da cui :
M ( , x )  L( , x )  cos d  L( , x )

6
Riflettanza bidirezionale BRDF
Lr ( r , r ,  i , i ,  )
Lr ( r , r ,  i , i ,  )

 ( r , r ,  i , i ,  ) 
Li ( i , i ,  ) cos  i d
Ei ( i , i ,  )
d angolo solido infinitesi mo
i ,  i angoli della direzione incidente
r ,  r angoli della direzione di riflession e
7
BRDF per diffusori perfetti (lambertiani)
• Per i diffusori perfetti si ha:
 d ( , x )
  , x,  i , i ,  r , r  

• Si può togliere dall’integrale dell’equazione del
rendering la riflettanza:
 d ( x,  )
Lr ( x,  ,  0 , 0 )  Le ( x,  ,  0 , 0 ) 
Li ( x,  ,  ,  ) cos d



• Dove:
–
–
–
–
Lr luminanza riflessa
Le luminanza auto emessa dalla superficie
Li luminanza incidente sulla superficie
d riflettanza diffusa (emisferica)
8
Equazione del rendering per
diffusori
• Si può assumere che anche le sorgenti siano
diffusive:
 d (x; )
L(x; ; 0 ,  0 )  Le (x; ) 

 L (x; ;, )cosd
i

e ricordando :
M(x;  ) 
 L (x; ;, )cosd
i

 d (x;  )
L(x;  )  Le (x;  ) 
M(x;  )

9
Equazione analitica della radiosity
• Espressa come radiosità M l’equazione
precedente diventa:
Mr (x, )  Me (x, )  d (x, )Mi (x, )
– Mr uscita radiante della superficie (riflessa +
auto emessa)
– Me uscita radiante auto emessa dalla superficie
– Mi rappresenta il flusso radiante che arriva in x
dall’emisfera 
10
Componente geometrica
‘

x
y
‘
r

11
Integrale
• se il punto y è visibile da x nella direzione
(,) allora x è visibile da y nella direzione
(’,’)
• inoltre la luminanza è isotropa da cui:
M(x; ) 
 L(y; ;', ')cosd

• inoltre se y è su un diffusore perfetto si ha:

L(y; ; ',  ') 
M(y)

12
Integrale (cont)
• l’angolo differenziale d può essere
espresso come:
cos ' dy
d 
r2
• Da cui:

M(x;  ) 
1



cos  cos '
M(y)
dy
2
r
d (x, )
M r (x, )  M e (x, ) 




cos cos '
M(y)
dy
2
r
13
Ipotesi principali
• superfici opache (che non trasmettono all'esterno
l’energia incidente, per qualunque lunghezza d’onda e
qualsiasi angolo d’incidenza),
• grigie (le caratteristiche radiative delle superfici sono
indipendenti dalla lunghezza d’onda su tutto lo spettro),
• lambertiane (l’energia emessa e riflessa è uniforme in
tutte le direzioni),
• la radiosità e l'emissività propria sono uniformi su ogni
superficie,
• ogni superficie ha caratteristiche omogenee, che non
variano da un punto all'altro
• il mezzo presente nella scena (atmosfera) è trasparente.
14
Termini dell’equazione di
bilancio energetico
 Radiosità (Mi) = è il valore incognito da
calcolare per ogni superficie i-esima;
dimensionalmente è una energia per unità di
area (uscita radiante)
 Emissività (MiE) = energia che la superficie
(sorgente di luce) i-esima emette in modo
autonomo, dimensionalmente è una energia per
unità di area (uscita radiante)
15
Termini dell’equazione di
bilancio energetico
 Riflettività (i) = coefficiente compreso tra zero e uno che
indica la frazione di luce riflessa dalla superficie i-esima;
il modo più accurato di descriverla è usando la BRDF,
riflettività bidirezionale;
• Fattore di forma (Fij) = frazione della luce che lascia una
superficie i-esima e arriva su un’altra superficie j-esima;
dipende solo dalla geometria della scena, dal modo con
cui ogni superficie è orientata rispetto ad ogni altra, dalla
distanza e dalle dimensioni; è un valore compreso tra zero
e uno.
16
17
Radiosity: i fattori di forma
• Il fattore di forma tra due patch rappresenta la frazione di
energia che lasciando una patch i raggiunge l’altra j
• Dipende:
- dalla presenza di ostacoli tra le patch
- dalle dimensioni delle due patch
- dal loro orientamento
- dalla loro distanza
- dalla loro forma
1
Fij 
Ai

Ai A j
cos  i  cos  j
 r
2
vij dA j dAi
18
Fattore di Forma tra due superfici finite Ai e Aj
vij è la funzione di visibilit à tra Ai e A j
1
vij  
0
se Ai e A j si vedono
se Ai e A j non si vedono
vale inoltre la reciprocit à :
Fij Ai  F ji A j
da cui :
Fij  F ji
Aj
Ai
19
Radiosity: metodo numerico
• Mi uscita radiante della patch i-esima
• MiE uscita radiante della patch i-esima dovuta ad emissione propria
(sorgenti di luce): sono valori noti
• e,i funzione di riflettanza diffusa (emisferica) della patch i-esima:
sono valori noti
• n numero totale delle patch nell’ambiente: è noto
• Fij fattore di forma tra la faccia i-esima e la faccia j-esima: vanno
determinati in funzione della geometria
n
M i  M   e,i   (Fij  M j )
E
i
j 1
20
Radiosity: metodo numerico
• Per determinare la Radiosity di tutte le n patch è necessario
conoscere la matrice degli n2 fattori di forma Fij e poi
risolvere il sistema in n incognite (M1,M2 …Mn)
n
M i   e,i   (Fij  M j )  M
j 1
E
i
Sistema lineare di n equazioni in n incognite:
21
Fasi del metodo
• Modellazione: attenzione ai T-vertici
• Attenzione alle fessure
fess ura
22
Suddivisione adattiva (gerarchica) delle patch
• Le patch possono essere suddivise in sotto-patch nelle zone
di superfici dove ci sono grandi variazioni di radiosity
• Quando una patch i è suddivisa in m sotto-patch s, devono
essere calcolati tutti gli m nuovi form-factor Fsj ma non
rispetto a i.
• La radiosity di ogni sottopatch s della patch i è calcolata
con:
M s  M iE   e ,i  M j Fsj
j 1.. n
• La somma pesata dei form-factor delle sotto-patch s deve
inoltre essere uguale a quella della patch suddivisa i:
1
Fij 
Ai
F
s 1.. m
sj
As
23
Meshatura gerarchica
• Importante per ridurre gli effetti di “light leak”
24
Meshatura gerarchica
25
Meshatura gerarchica
26
Determinazione dei fattori di forma
• La determinazione del fattore di forma presuppone il calcolo di due
integrali superficiali per ogni coppia di patch dell’ambiente
• La soluzione analitica può essere fatta solo per superfici elementari
• Nel caso di superfici generiche si utilizzano tecniche numeriche come
quella dell’emicubo o dell’emisfera applicate sulla patch che,
con un metodo di campionamento,
determinano la frazione
dell’emisfera o dell’emicubo su cui
risulta proiettata l’altra patch
27
Calcolo fattore di forma: emisfera
Analogia di Nusselt (1981): il form factor è dato dal rapporto tra
l’area della superficie proiettata sulla base dell’emisfera di raggio
unitario e l’area totale della base circolare dell’emisfera
28
Calcolo del fattore di forma: emisfera
• Posizionare un’emisfera di raggio unitario sulla
superficie di area differenziale,
• Suddividere la base dell’emisfera in porzioni di area
uguali e abbastanza piccole per ottenere una adeguata
precisione,
• Calcolare la proiezione di ogni superficie della scena
sull’emisfera,
• Calcolarne la proiezione ortogonale sulla base
dell’emisfera,
• Valutare l’area occupata da ciascuna superficie, con un
test di profondità per determinare la parte visibile di
ogni superficie,
• Calcolare i fattori di forma come somma dei settori
coperti da ciascuna superficie pesati con la rispettiva
area, diviso l’area della base della semisfera.
29
Metodo emicubo approssima emisfera
Il calcolo della visibilità sfrutta z-buffer!
Ogni locazione sulle facce dell’emicubo
può essere considerata come un pixel
30
Emicubo
Fij 
 F
q 1.. R
q
Delta form factor di ciascuno degli R pixel
coperti dalla proiezione di Aj sulla superficie
dell’emicubo; si calcolano una sola volta; la
precisione dipende dalla discretizzazione
dell’emicubo; es: pixel sulla faccia top
1
Fq 
A
2
2
2
 (x  y  1)
Z

pixel area =
A
y x

r
X
Y
31
Z
pixel area =
Pixel su faccia
laterale
A
y
z
j
r
i
X
Y
z
Fq 
A
2
2
2
 (y  z  1)

32
Emicubo: passi
• Calcolo dei delta form-factors di ogni cella
dell’emicubo
• Inizializzazione dell’emicubo
• Proiezione di tutta la scena sull’emicubo
• Calcolo dei form factors in funzione dei
delta form-factors
33
Form factor: tecnica di Malley
• È una tecnica di ray tracing Monte Carlo
• Rapporto tra numero dei colpi che hanno
intersecato Aj e il numero totale dei colpi
Fij 
Nj
N tot
34
Radiosity: soluzione numerica del sistema
• La soluzione del sistema può essere fatta
con metodi numerici iterativi:
-Metodo di Jacobi
-Metodo di Gauss-Seidel
-Metodo di Southwell
• Vari test hanno mostrato che il metodo di
Gauss-Seidel è quello che minimizza
l’errore a parità di passi di calcolo
35
Metodo progressivo (shooting)
• Metodo dei raffinamenti progressivi (Cohen 1988) è una
variante nella quale si procede iterativamente considerando
prima le patch con maggior quantità di energia non ancora
distribuita, per ottenere immagini rappresentabili già dopo
un numero ridotto di passi di iterazione
36
Metodo progressivo (shooting)
• Gli altri metodi di soluzione numerica del sistema di radiosity si
basano sul seguente principio: nella soluzione ogni patch raccoglie
(gather) i contributi di radiazione riflessa/emessa dalle altre patch
dell’ambiente
• Il metodo progressivo invece spara (shoot) la radiosity dalle patch
verso l’ambiente, iniziando dalle patch sorgenti di luce e procedendo
poi con le altre.
• Ad ogni iterazione successiva viene calcolato il contributo dato da
ogni patch Mi a tutte le altre patch
• Per ogni patch viene tenuto conto di quanta radiosity è stata distribuita
e quanta deve ancora essere distribuita Mi .
• Mi di ogni patch aumenta ad ogni iterazione grazie ai nuovi
contributi portati da altre patch
37
Shooting
 M1 
M 
 2
  
 
M n 
new
 M1 
M 
  2
  
 
M n 
old
  1 F1i 
 F 
 M i  2 2 i 
  


  n Fni 
A
Fji = Fij i
Aj
Mi = radiosity della patch i-esima non ancora distribuita.
I valori di radiosity Mi e Mi sono inizializzati a zero per le
superfici non emissive e posti uguali al valore di emissività
MiE per le sorgenti di luce.
38
Altri effetti: mezzo partecipante
39
40
Modelli globali
• Metodo a due passi di Wallace 1987
– I fase: con la radiosity si calcola la distribuzione della luce per
interriflessioni diffuse
– II fase: con il ray tracing si calcolano aspetti di apparenza visiva
come le riflessioni speculari, le trasparenze, il bump-mapping…..
– L’illuminamento diretto può essere calcolato nella I o II fase, ma
non entrambe. Se è calcolato nella I le ombre sono diffuse, se è
calcolato nella II le ombre sono nette (eccetto che per le sorgenti
geometricamente estese)
• Altri metodi più avanzati:
– Bidirectional ray tracing, Ray tracing Monte Carlo, Photon
mapping….
41
Scarica

26_radiosity - Università degli Studi di Milano