1 modelli globali daniele marini. 2 calcolare interazione-luci materiali non solo su singoli oggetti...
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb5a497959361e8c6e52/html5/thumbnails/41.jpg)
41