1 modelli globali daniele marini. 2 calcolare interazione-luci materiali non solo su singoli oggetti...

41
1 Modelli Globali Daniele Marini

Upload: rachele-mariotti

Post on 01-May-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

1

Modelli Globali

Daniele Marini

Page 2: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

2

• Calcolare interazione-luci materiali non solo su singoli oggetti

• Tenere conto della interazione della luce che viene riflessa dagli oggetti

Page 3: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

3

Modelli e metodi di rendering

• Nei metodi locali: modello di illuminazione + shading (+ smoothing)

• Metodi globali: modelli di illuminazione più accurati + rendering

• 2 metodi principali– View dependent– View independent

Page 4: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

4

Dipendente dalla vista: Ray tracing

• Simula il percorso dei raggi luminosi

• Modello di illuminazione: Whitted + estensioni

Page 5: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

5

Indipendente dalla vista: Radiosity

• Simula il bilancio energetico in un ambiente chiuso

• Modello Lambertiano + estensioni

Page 6: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

6

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 da x verso x'

s superficie

Page 7: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

7

Modello di Whitted

• E’ un modello ibrido, unisce aspetti locali e globali

• Il raggio che giunge al pixel nella direzione di COP è il risultato di:– Raggio iniziale+

– Raggio trasmesso+

– Raggio riflesso

• Metodo ricorsivo, albero delle riflessioni e trasmissioni multiple

Page 8: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

8

Ray casting Raggi ombra (shadow)

Specchi (mirror) Raggi trasmessi e riflessi

Page 9: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

9

scena Albero corrispondente

Page 10: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

10

Problemi

• Dipende da “search”

• Calcolo intersezioni critico

• Ottimizzazione:• Bounding volumes

• Parallelizzazione

Page 11: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

11

Il calcolo delle intersezioni• Intersezione raggio/sfera - soluzione

algebrica– Definiamo un raggio da COP al pixel sul piano

immagine con l’equazione parametrica:

– Per t<0 i punti sul raggio sono dietro COP, t=0 va evitato per problemi numerici

Rorigine= x0,y0,z0[ ]

Rdirezione= xd,yd,zd[ ]

R(t) =Rorigine+Rdirezione* t con t>0

Page 12: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

12

Intersezione raggio/sfera

• Equazione sfera:

• Sostituire equazione raggio in equazione sfera e si risolve rispetto a t

Sc = xc ,yc,zc[ ] centro sfera

Sr raggio sfera

xs,ys,zs[ ] tali che xs −xc( )2

+ ys −yc( )2+ zs −zc( )

2=Sr

2( )

sono punti sulla superficie

Page 13: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

13

Intersezione raggio/sfera

• Equazione quadratica, 2 soluzioni:– Se complesse non c’e’ intersezione

– Se reali ordinare le soluzioni t0 e t1: il minimo rappresenta la prima interesezione

– Il punto intersezione è:

– La normale alla superficie è:

Pintersezione=Pi = x0 +xd * t,y0 +yd * t,z0 +zd *t[ ]

Pnormale=xi −xcSr

,yi −ycSr

,zi −zcSr

⎣ ⎢ ⎢

⎦ ⎥ ⎥

Page 14: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

14

Intersezione raggio/sfera

• Passi:• Calcolare coefficiente eq. II grado: 8 + e -, 7 *• Calcolo discriminante: 1-, 2*, 1=• Determinazione intersezione minima, eventuale calcolo

della seconda: 1-, 1*, 1 sqrt, 1=; event. 1-,1*, 1=• Calcolo punto intersezione: 3+, 3*• Calcolo normale al punto: 3-, 3*

– Totale 17 + o - 17*, 1 sqrt, 3=

Page 15: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

15

Intersezione raggio/sfera: soluzione geometrica

– Origine raggio interna alla sfera? Calcola lunghezza vettore centro-origine e controlla con raggio sfera

– Se il raggio è esterno e punto lontano dalla sfera no intersezione (verifica direzione raggio)

– Trova distanza retta raggio da centro, valuta segno:

orig

origt

t

Page 16: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

16

Intersezione raggio/sfera: soluzione geometrica

– Se esiste calcola interesezione, sfruttando distanza retta da centro

– Numero operazioni totale: 16+ o -, 13*,1 sqrt, 3=

Page 17: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

17

Altri effetti

• Ray tracing distribuito: • motion blur• profondità di campo

• Ray tracing a due passate:– Simula scattering della luce attraverso un mezzo

(acqua, vetro)• I passo: luce• II passo: occhio

• Modellazione spettrale delle sorgenti di luce• Tessiture

Page 18: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

18

Ray tracing distribuito

• Ogni pixel viene sovracampionato, ad es. 3x3 volte

• Le posizioni dei pixel sovracampionati possono essere regolari o casuali: jittering

• Il pixel assume un valore come media dei campioni

• Jittering consiste nel perturbare la posizione dei socracampioni rispetto a una loro distribuzione regolare

Page 19: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

19

Jitteringpixelsovracampioni

Se i campioni sono prevalentemente al centro si harumore minimo ma alto aliasingSe i campioni sono meno concentrati al centro siha meno aliasing e più rumoreSi può predisporre una matrice di jitter con una distribuzione Gaussiana

Page 20: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

20

Profondità di campo

• Occhio e lente fotografica hanno un’apertura finita; ogni punto appare come un piccolo cerchio sul piano immagine: cerchio di confusione

• L’immagine prodotta dal foro stenopeico è perfettamente a fuoco

Page 21: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

21

distanza piano focale:

Vp =Fpp−F

per p>F

punti fuori fuoco sono proiettati :

Vd =Fdd−F

per d>F

cerchio di confusione:

C=Vd −VpFnVd

Page 22: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

22

Jittering per profondità di campo

• Se il punto campionato è sul piano focale, i punti jittered sono assai vicini e la loro media non si scosta troppo dal valore del punto centrale

• Se il punto campionato è lontano dal piano focale i punti jittered sono distanti e la loro media crea un effetto di sfocatura

Page 23: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

23

Jittering per motion blur

• Si può sovracampionare l’immagine temporalmente, usando matrice di jitter a istanti di tempo distinti

• La maggiore velocità di un oggetto esalta l’effetto mosso

Page 24: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

24

Page 25: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

25

Page 26: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

26

Page 27: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

27

Modelli di illuminazione avanzati

ρ λ;φi,θi;φr,θr( ) =Lr λ;φi,θi;φr,θr( )Li λ;φi,θi( )cosφidω

dω angolo solido infinitesimo

φi,θi angoli della direzione incidente

φr,θr angoli della direzione di riflessione

Riflettività bidirezionale

Page 28: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

28

Funzioni di Fresnel

• indica il rapporto tra l'intensità della radiazione incidente e quella della radiazione trasmessa all'interno del materiale

• radiazione polarizzata trasmessa da un dielettrico, dipende dall’angolo di incidenza e di trasmissione:

F(λ) =12sin2(θi −θt)sin2(θi +θt)

1+cos2(θi +θt)cos2(θi −θt)

⎝ ⎜ ⎜

⎠ ⎟ ⎟

Page 29: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

29

Funzione di Fresnel per dielettrico

• l’intensità della radiazione trasmessa dipende sia dalla direzione della radiazione incidente sia dalla direzione della radiazione trasmessa;

• Le due direzioni sono coplanari

Page 30: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

30

Funzione di Fresnel per conduttore

• n2 è l'indice di rifrazione del mezzo conduttore (quello dell'aria è pari a 1) e k2 è il coefficiente di attenuazione del conduttore

• L’intensità della luce trasmessa nel conduttore dipende solo dalla direzione della luce incidente:

F(λ) =12

(n2 cosθi −1)2 +(k2 cosθi)2

(n2 cosθi +1)2 +(k2 cosθi)2 +

(n2 −cosθi)2 +k2

2

(n2 +cosθi)2 +k2

2

⎝ ⎜ ⎜

⎠ ⎟ ⎟

Page 31: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

31

Funzioni di Fresnel

Con le funzioni di Fresnel si controlla l’attenuazione dell'energia luminosa nella riflessione o trasmissione con conduttori e dielettrici

Page 32: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

32

Trattamento superficiale

Page 33: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

33

Modello di Cook e Torrance• luminanza riflessa da un superficie come funzione della riflettività bidirezionale• riflettività espressa come somma di una componente diffusiva e di una speculare

• se il materiale è un dielettrico puro kd=1 e ks=0

• se il materiale è un conduttore puro kd=0 e ks=1

ρ≅kdρd +ksρskd +ks =1

Page 34: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

34

Modello di Cook e Torrance

• La riflettività diffusiva d viene considerata puramente lambertiana

• la riflettività speculare è approssimata con l'equazione:

ρs =F.D.G

πcosθi cosθr

Page 35: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

35

Modello di Cook e Torrance

• F rappresenta la funzione di Fresnel descrive la componente parzialmente trasmessa nel materiale e successivamente riflessa

Page 36: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

36

• D funzione di rugosità, indica la percentuale di microfacce orientate come la direzione di osservazione– modello gaussiano:

• con angolo tra L e H, c costante arbitrara, m indice di rugosità normalizzato, quando prossimo a 0 superficie liscia, prossimo a 1 molto rugosa

– modello di Beckmann:

D(m,c,α ) = ce− α / m( )2

D(m,α ) =1

m2 cos4 (α )e− tan(α( ) / m[ ]

2

Page 37: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

37

• G parametro geometrico tiene conto dell'orientamento delle microfaccette superficiali, che possono proiettare un'ombra su faccette vicine (shadowing) o produrre una riflessione speculare verso la direzione di osservazione o infine la luce riflessa può essere parzialmente bloccata da altre faccette (masking).

G(N,V,L) = min 1,γ(N.V),γ(N.L)[ ]

γ =2(N.H)

V.H

Page 38: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

38

Page 39: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

39

Page 40: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

40

Page 41: 1 Modelli Globali Daniele Marini. 2 Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene

41