La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Modelli di Illuminazione Modelli locali Daniele Marini Corso Di Programmazione Grafica aa2005/2006.

Presentazioni simili


Presentazione sul tema: "Modelli di Illuminazione Modelli locali Daniele Marini Corso Di Programmazione Grafica aa2005/2006."— Transcript della presentazione:

1

2 Modelli di Illuminazione Modelli locali Daniele Marini Corso Di Programmazione Grafica aa2005/2006

3 Programmazione Grafica aa2005/20062 Obiettivo Visualizzare scene cercando di simulare al meglio la realtà Elemento chiave: interazione luce- materiali –Modellare le sorgenti di luce –Modellare l’apparenza visiva dei materiali –Calcolare l’interazione

4 Programmazione Grafica aa2005/20063 Fondamenti Distinguiamo tra: –Modelli di illuminazione globale –Modelli di illuminazione locale I modelli locali trattano l’interazione luce-materia localmente in un punto campione sulla superficie, senza occuparsi di calcolare da dove proviene la luce (sorgenti di luce e/o ambiente?) I modelli globali si occupano invece di descrivere da dove proviene la luce prima della sua interazione con un materiale e dove va dopo questa interazione Una immagine può essere determinata applicando solo il modello di illuminazione locale o anche quello globale per determinare più correttamente da dove proviene la luce (meglio, ma più lento)

5 Programmazione Grafica aa2005/20064 I modelli di illuminazione locale considerano: sorgenti di luce puntiforme all’infinito o a distanza finita illuminazione ambiente costante riflessione diffusiva o speculare approssimata sorgenti di luce estese approssimate sorgenti di luce direzionali I modelli globali tengono conto anche di caratteristiche fotometriche e radiometriche delle sorgenti: composizione spettrale della luce emessa energia e geometria della emissione forma del corpo illuminante luce ambiente modellata correttamente Fondamenti

6 Programmazione Grafica aa2005/20065 Lighting e Shading Lighting: calcolo del modello di illuminazione, come la luce interagisce con la materia Shading: calcolata l’illuminazione ai vertici, si determina il colore di ogni pixel interno; in generale con interpolazione

7 Programmazione Grafica aa2005/20066 Interazione luce-superfici

8 Programmazione Grafica aa2005/20067 Interazione luce-superfici Il comportamento opposto a quello della diffusione è la specularità

9 Programmazione Grafica aa2005/20068 Sorgenti di luce nella computer grafica Sono una approssimazioni di quelle reali! Ambient light Point light Spot light Distant light Warn light

10 Programmazione Grafica aa2005/20069 Sorgenti di luce Il colore è descritto con tre componenti di intensità (vettore): I =[I R, I G, I B ] Luce ambiente, idem: I a =[I a,R, I a,G, I a,B ] In generale l’energia che giunge da una sorgente a un punto è inversamente proporzionale al quadrato della distanza ma in CG non sempre questo principio è applicato

11 Programmazione Grafica aa2005/200610 Sorgente puntiformeSorgente estesa e penombra Tipi di sorgenti

12 Programmazione Grafica aa2005/200611 Spot light Sorgente spot

13 Programmazione Grafica aa2005/200612 Sorgenti all’infinito Chiamate distant light sources La posizione si dà in coordinate omogenee Per sorgenti a distanza finita: p s =[x, y, z, 1] Per sorgenti all’infinito: p s =[x, y, z, 0] L’intensità non decade con l’inverso del quadrato della distanza

14 Programmazione Grafica aa2005/200613 Riassumendo

15 Programmazione Grafica aa2005/200614 Modelli locali Lambert: –Riflessione diffusa Phong: –Riflessione diffusa –Riflessione speculare imperfetta Componente luce ambiente Sorgenti di luce Trasparenza

16 Programmazione Grafica aa2005/200615 La geometria della riflessione nei modelli locali P punto campione sulla sup. N normale alla sup. in P V direzione da P a COP L direzione da P a sorgente di luce (se estesa è un punto campione su essa) R direzione di riflessione speculare della sorgente calcolata da N e L

17 Programmazione Grafica aa2005/200616 Riflessione nei modelli locali La riflessione è di tre tipi. Dati: N normale alla superficie, L direzione luce incidente, R direzione luce riflessa speculare: Riflessione diffusiva: costante in tutte le direzioni, ma funzione di L·N (ovvero dipende dall’angolazione con cui la luce arriva sulla superficie) Riflessione speculare perfetta L·N = R·N e la luce viene riflessa lungo un’unica direzione Riflessione speculare imperfetta: la luce riflessa all’interno di un angolo solido con intensità massima nella direzione R, e decrescente a 0 allontanandosi da R (bagliori, highlight)

18 Programmazione Grafica aa2005/200617 Riflessione di Lambert Una superficie viene detta diffusiva o lambertiana se rispetta la legge di Lambert (1760) Lambert J. H., Photometria, Sive de mensura et gradibus Luminis, Colorum et Umbrae, Christoph Peter Detleffsen for the Widow of Eberhard Klett, Augsburg, 1760 La legge afferma che la luminosità di una superficie diffusiva non dipende dalla posizione dell’osservatore ma dalla posizione della luce rispetto a questa La luce viene riflessa uniformemente in tutte le direzioni

19 Programmazione Grafica aa2005/200618 Modello di Lambert Legge di Lambert : I r : intensità luce riflessa I i : intensità luce incidente k d : coefficiente di riflessione diffusa

20 Programmazione Grafica aa2005/200619 Calcolo RGB del modello di Lambert Il colore della superficie dipende quindi dai tre valori (k d,R k d,G k d,B )

21 Programmazione Grafica aa2005/200620 Lambert+Luce ambiente p sorgenti puntiformi (θ l = angolo con la sorgente l-esima) Ripetuta 3 volte per R, G e B Una sorgente

22 Programmazione Grafica aa2005/200621 Modello di Phong (1975) Calcola anche la riflessione speculare imperfetta considerando la posizione dell’osservatore La luce riflessa è data dalla somma di 3 componenti: 1.Riflessione lambertiana 2.Riflessione speculare imperfetta 3.Luce ambientale Phong B.T., Illumination for computer generated pictures, Communications of the ACM, vol 18, n 6, 1975

23 Programmazione Grafica aa2005/200622 Modello di Phong riflessione lambertiana riflessione speculare imperf. luce ambientale

24 Programmazione Grafica aa2005/200623 Modello di Phong I parametri sono: 1.k d : coefficiente di riflessione diffusa 0  k d  1 2.k s : coefficiente di riflessione speculare 0  k s  1 3.k a : coefficiente di riflessione luce ambientale 0  k a  1 4.n: esponente di Phong (ampiezza dell’highlight) Il colore e l’apparenza della superficie dipendono quindi dai nove valori (k dR k dG k dB ) colore diffuso (k sR k sG k sB ) colore speculare (k aR k aG k aB ) colore ambiente dipende anche dall’interfaccia del software….

25 Programmazione Grafica aa2005/200624 Modello di Phong Per il principio di conservazione dell’energia dovrebbe essere: k d + k s  1 Ovvero una superficie non può riflettere più luce di quanta ne riceve. Tuttavia nella simulazione software questo può anche verificarsi come errore voluto. Dipende dall’implementazione software……

26 Programmazione Grafica aa2005/200625 Modello di Phong Nella componente speculare imp.: –L’angolo  misura quanto l’osservatore si discosta dalla direzione speculare rispetto alla luce –L’esponente di Phong n determina l’ampiezza dell’ highlight (maggiore n, minore l’highlight)

27 Programmazione Grafica aa2005/200626 Modello di Phong La componente ambientale simula la luce che non proviene direttamente dalle sorgenti di illuminazione ma dagli altri oggetti dell’ambiente tramite una costante. Moltissimi oggetti di uso comune hanno una riflessione mista : in parte diffusiva e in parte speculare

28 Programmazione Grafica aa2005/200627 Modello di Phong Confronti con k a =0,7 n=10 al variare di k d e k s ksks kdkd

29 Programmazione Grafica aa2005/200628 L’andamento del coseno

30 Programmazione Grafica aa2005/200629 Modifica del modello di Phong: Blinn (1977) Anziché la direzione R si considera la bisettrice H tra L e V e il suo angolo  che viene sostituito ad  nel calcolo della componente speculare imperfetta: k s cos n  dove cos  = H · N Questo modello non è fisicamente più corretto, ma più semplice da calcolare. –l'angolo  è sempre  90° e si evita di doverne verificare il valore, –è più semplice da calcolare di .  si comporta come l’angolo α, è una approssimazione. –  decresce più rapidamente, quindi nel modello di Blinn si usa un esponente n più piccolo Blinn J. F., Models of Light Relfection for Computer Synthesized Pictures, Computer Graphics (SIGGRAPH '77 Proceedings), vol. 11, n. 2, pp 192-198, July 1977

31 Programmazione Grafica aa2005/200630 Il calcolo di R Si può calcolare come: R = 2(N·L)N - L N L -L 2(N·L)N 2(N·L)N - L (N·L)N

32 Programmazione Grafica aa2005/200631 Il metodo di Blinn È il metodo adottato in OpenGL e in Direct3D. Occorre ricordare che quando l’angolo è maggiore di  /2 (90°) non c’è riflessione

33 Programmazione Grafica aa2005/200632 Sorgenti di luce estese: modello di Warn Si possono trattare sorgenti di luce non puntiformi (direzionali) e a distanza d (luci di Warn - spot): con  angolo solido di emissione

34 Programmazione Grafica aa2005/200633 Con luce ambiente Senza luce ambiente

35 Programmazione Grafica aa2005/200634 Il modello completo Il termine k att tiene conto dell’attenuazione della propagazione della luce nell’atmosfera rispetto alla sorgente l-esima con: k att = max ( 1/(a+bd+cd 2 ) ; 1) invece del più semplice 1/d 2 Dove d è la distanza tra il punto campione sulla superficie e la sorgente di luce, mentre a,b,c sono parametri arbitrari scelti dal programmatore sulla base dell’esperienza

36 Programmazione Grafica aa2005/200635 Limiti del modello locale illustrato Ma l’intensità I della luce che cosa è: (Intensità luminosa, Intensità radiante, Illuminamento, Luminanza …?) Dipende da campionamento spaziale della luce, ovvero dal modello di illuminazione globale. Il modello simula oggetti di plastica, ceramica o simili: Strato esterno - riflessione speculare Strato interno - riflessione diffusiva


Scaricare ppt "Modelli di Illuminazione Modelli locali Daniele Marini Corso Di Programmazione Grafica aa2005/2006."

Presentazioni simili


Annunci Google