1 modelli globali e metodo di radiosity daniele marini

41
1 Modelli Globali e metodo di Radiosity Daniele Marini

Upload: carlo-milani

Post on 02-May-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Modelli Globali e metodo di Radiosity Daniele Marini

1

Modelli Globali e metodo diRadiosity

Daniele Marini

Page 2: 1 Modelli Globali e metodo di Radiosity Daniele Marini

2

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

Page 3: 1 Modelli Globali e metodo di Radiosity Daniele Marini

3

Radiosity

• Bilancio radiativo in un ambiente chiuso (senza scambio di energia con l’esterno)

• Indipendente al punto di vista

Page 4: 1 Modelli Globali e metodo di Radiosity Daniele Marini

4

Radiosity: principio baseRadiosity: 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

Page 5: 1 Modelli Globali e metodo di Radiosity Daniele Marini

5

RadiosityRadiosity

• 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

• Da non confondere con la luminanza L che è un’altra grandezza:

dAdM Φ=

)cos(2 θω ⋅⋅Φ= dAddL

Page 6: 1 Modelli Globali e metodo di Radiosity Daniele Marini

6

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:

),(cos),(),(

:cuida ),(),,,(

:ideale diffusore unper ma,

cos),,,(),(

xLdxLxM

xLxL

dxLxM

λπωθλλ

λφθλ

ωθφθλλ

==

=

=

Page 7: 1 Modelli Globali e metodo di Radiosity Daniele Marini

7

Riflettanza bidirezionale BRDFRiflettanza bidirezionale BRDF

eriflession di direzionedella angoli ,

incidente direzionedella angoli ,

moinfinitesi solido angolo

cos),,(

),,,,(

),,(

),,,,(),,,,(

rr

ii

iiii

iirrr

iii

iirrriirr

d

dL

L

E

L

θφθφ

ωωθλφθ

λφθφθλφθ

λφθφθλφθφθρ ==

eriflession di direzionedella angoli ,

incidente direzionedella angoli ,

moinfinitesi solido angolo

cos),,(

),,,,(

),,(

),,,,(),,,,(

rr

ii

iiii

iirrr

iii

iirrriirr

d

dL

L

E

L

θφθφ

ωωθλφθ

λφθφθλφθ

λφθφθλφθφθρ ==

Page 8: 1 Modelli Globali e metodo di Radiosity Daniele Marini

8

BRDF per diffusori perfetti (lambertiani)

• Per i diffusori perfetti si ha:

• Si può togliere dall’integrale dell’equazione del rendering la riflettanza:

• Dove:– Lr luminanza riflessa– Le luminanza auto emessa dalla superficie– Li luminanza incidente sulla superficie ρd riflettanza diffusa (emisferica)

( )πλρφθφθλρ ),(

,,,,,x

x drrii =

+= ωθφθλπ

λρφθλφθλ dxLx

xLxL id

er cos),,,(),(

),,,(),,,( 0000

Page 9: 1 Modelli Globali e metodo di Radiosity Daniele Marini

9

Equazione del rendering per diffusori

• Si può assumere che anche le sorgenti siano diffusive:

L(x;λ ;θ0,φ0) = Le (x;λ ) +ρ d (x;λ )

πLi(x;λ ;θ,φ)cosθdω

Ω

e ricordando :

M(x;λ ) = Li(x;λ ;θ,φ)cosθdωΩ

L(x;λ ) = Le (x;λ ) +ρ d (x;λ )

πM(x;λ )

Page 10: 1 Modelli Globali e metodo di Radiosity Daniele Marini

10

Equazione analitica della radiosity

• Espressa come radiosità M l’equazione precedente diventa:

– 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

Mr(x,λ ) = Me (x,λ ) + ρ d (x,λ )M i(x,λ )

Page 11: 1 Modelli Globali e metodo di Radiosity Daniele Marini

11

x

y

θ

‘θ ‘

r

Componente geometrica

Page 12: 1 Modelli Globali e metodo di Radiosity Daniele Marini

12

Integrale

• se il punto y è visibile da x nella direzione (θ) allora x è visibile da y nella direzione (θ’’)

• inoltre la luminanza è isotropa da cui:

• inoltre se y è su un diffusore perfetto si ha:

M(x;λ ) = L(y;λ ;θ ',φ')cosθdωΩ

L(y;λ ;θ ',φ') =M(y)

π

Page 13: 1 Modelli Globali e metodo di Radiosity Daniele Marini

13

Integrale (cont)

• l’angolo differenziale dω può essere espresso come:

• Da cui:

dω =cosθ 'dy

r2

M(x;λ ) =1

πM(y)

cosθ cosθ '

r2dy

Ω

Mr(x,λ ) = Me (x,λ ) +ρ d (x,λ )

πM(y)

Ω

∫ cosθ cosθ '

r2dy

Page 14: 1 Modelli Globali e metodo di Radiosity Daniele Marini

14

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.

Page 15: 1 Modelli Globali e metodo di Radiosity Daniele Marini

15

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)

Page 16: 1 Modelli Globali e metodo di Radiosity Daniele Marini

16

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.

Page 17: 1 Modelli Globali e metodo di Radiosity Daniele Marini

17

Page 18: 1 Modelli Globali e metodo di Radiosity Daniele Marini

18

Radiosity: i fattori di formaRadiosity: 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

ijij

A A

ji

iij dAdAv

rAF

i j

∫∫ ⋅⋅

= 2

coscos1π

θθ

Page 19: 1 Modelli Globali e metodo di Radiosity Daniele Marini

19

Fattore di Forma tra due superfici finite Ai e Aj

i

jjiijjjiiij

ji

jiij

jiij

A

AFFAFAF

AA

AAv

AAv

==

⎩⎨⎧

=

:cui da

:àreciprocit la inoltre vale

vedonosi non e se 0 vedonosi e se 1

e à tra visibilitdi funzione la è

Page 20: 1 Modelli Globali e metodo di Radiosity Daniele Marini

20

Radiosity: metodo numericoRadiosity: 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

)M(FMM j

n

jijie

Eii ⋅⋅+= ∑

=1,ρ

Page 21: 1 Modelli Globali e metodo di Radiosity Daniele Marini

21

Radiosity: metodo numericoRadiosity: metodo numerico

Sistema lineare di n equazioni in n incognite:

Eij

n

jijiei M)M(FM =⋅⋅− ∑

=1,ρ

• 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)

Page 22: 1 Modelli Globali e metodo di Radiosity Daniele Marini

22

Fasi del metodo

• Modellazione: attenzione ai T-vertici

• Attenzione alle fessure

fessura

Page 23: 1 Modelli Globali e metodo di Radiosity Daniele Marini

23

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:

• La somma pesata dei form-factor delle sotto-patch s deve inoltre essere uguale a quella della patch suddivisa i:

∑=

+=nj

sjjieEis FMMM

..1,ρ

∑=

=ms

ssji

ij AFA

F..1

1

Page 24: 1 Modelli Globali e metodo di Radiosity Daniele Marini

24

Meshatura gerarchica• Importante per ridurre gli effetti di “light leak”

Page 25: 1 Modelli Globali e metodo di Radiosity Daniele Marini

25

Meshatura gerarchica

Page 26: 1 Modelli Globali e metodo di Radiosity Daniele Marini

26

Meshatura gerarchica

Page 27: 1 Modelli Globali e metodo di Radiosity Daniele Marini

27

Determinazione dei fattori di formaDeterminazione 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 cuirisulta proiettata l’altra patch

Page 28: 1 Modelli Globali e metodo di Radiosity Daniele Marini

28

Calcolo fattore di forma: emisferaAnalogia 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

Page 29: 1 Modelli Globali e metodo di Radiosity Daniele Marini

29

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.

Page 30: 1 Modelli Globali e metodo di Radiosity Daniele Marini

30

Metodo emicubo approssima emisfera

Il calcolo della visibilità sfrutta z-buffer!Ogni locazione sulle facce dell’emicubo può essere considerata come un pixel

Page 31: 1 Modelli Globali e metodo di Radiosity Daniele Marini

31

EmicuboDelta 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

x

y

Z

X

Y

AΔ = pixel area

∑=

Δ=Rq

qij FF..1

ΔFq =1

π (x 2 + y 2 +1)2ΔA

Page 32: 1 Modelli Globali e metodo di Radiosity Daniele Marini

32

z

y

r

Z

X

Y

AΔ = pixel area

θi

θj

Pixel su faccialaterale

ΔFq =z

π (y 2 + z2 +1)2ΔA

Page 33: 1 Modelli Globali e metodo di Radiosity Daniele Marini

33

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

Page 34: 1 Modelli Globali e metodo di Radiosity Daniele Marini

34

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

tot

jij N

NF =

Page 35: 1 Modelli Globali e metodo di Radiosity Daniele Marini

35

Radiosity: soluzione numerica del sistemaRadiosity: 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

Page 36: 1 Modelli Globali e metodo di Radiosity Daniele Marini

36

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

Page 37: 1 Modelli Globali e metodo di Radiosity Daniele Marini

37

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

Page 38: 1 Modelli Globali e metodo di Radiosity Daniele Marini

38

Shooting

Fji = Fij AiAj

Δ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à Mi

E per le sorgenti di luce.

⎥⎥⎥⎥

⎢⎢⎢⎢

Δ+

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

nin

i

i

i

old

n

new

n F

F

F

M

M

M

M

M

M

M

ρ

ρ

ρ

MMM22

11

2

1

2

1

Page 39: 1 Modelli Globali e metodo di Radiosity Daniele Marini

39

Altri effetti: mezzo partecipante

Page 40: 1 Modelli Globali e metodo di Radiosity Daniele Marini

40

Page 41: 1 Modelli Globali e metodo di Radiosity Daniele Marini

41

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….