Modelli di Illuminazione 1- Modelli locali Daniele Marini, Maurizio Rossi 1 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 2 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) 3 Fondamenti 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 4 Interazione luce-superfici 5 Interazione luce-superfici • Il comportamento opposto a quello della diffusione è la specularità 6 Sorgenti di luce nella computer grafica • Sono una approssimazioni di quelle reali! • • • • • Ambient light Point light Spot light (Warn light) Distant light Area light 7 Sorgenti di luce • Il colore della sorgente è descritto con tre componenti di intensità (vettore) per le tre bande ross, verde, blu: I=[IR, IG, IB] • Distinguiamo tra sorgenti di luce e luce ambiente • 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 8 Luce ambiente • La luce ambiente nei modelli locali descrive il contributo di illluminazione dovuto alla diffusione (atmosfera, pulviscolo, nebbia) e riflessioni multiple tra le superfici degli oggetti della scena • Anche la luce ambiente può avere un colore descritto come vettore: Ia=[Ia,R , Ia,G , Ia,B] 9 Tipi di sorgenti Sorgente puntiforme Point light Sorgente estesa e penombra Area light 10 Sorgente spot Spot light o Warn light n I cos (u) 11 Sorgenti all’infinito • • • • • Chiamate distant light sources La posizione si dà in coordinate omogenee Per sorgenti a distanza finita: ps=[x, y, z, 1] Per sorgenti all’infinito: ps=[x, y, z, 0] L’intensità non decade con il quadrato della distanza 12 Modelli di illuminazione locali • Livelli di accuratezza crescente – Lambert: • Riflessione diffusa – Phong: • Riflessione diffusa • Riflessione speculare imperfetta • Componente luce ambiente • Sorgenti di luce • Trasparenza 13 La geometria della riflessione nei modelli locali • • • • P punto campione sulla superficie N normale alla superficie in P V direzione da P a osservatore L direzione da sorgente di luce a P – se la sorgente è estesa si considera un punto campione su di essa • R direzione di riflessione speculare della sorgente calcolata da N e L 14 Riflessione nei modelli locali La riflessione è di tre tipi. Dati: N normale alla superficie, L direzione luce incidente, R direzione luce riflessa in modo 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 viene riflessa all’interno di un angolo solido con intensità massima nella direzione R, e decrescente a 0 allontanandosi da R (simula bagliori, highlight) 15 Riflettività nei modelli locali • Nei modelli locali ogni materiale è caratterizzato da una riflettività, ovvero da quale percentuale di luce nelle tre componenti rosso,verde e blu riflette • La riflettività non è unica, ma è in relazione al tipo di luce che si considera – Riflettività alla louce ambiente – Alla riflessione diffusiva – Alla riflessione speculare • Questo modo di trattare la riflettività non ha alcuna corrispondenza con la realtà fisica: è solo una approssimazione! 16 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 17 Modello di Lambert • Legge di Lambert: Ir Ir : intensità luce riflessa Ii : intensità luce incidente kd: coefficiente di riflessione diffusa k d I i cos 18 Calcolo RGB del modello di Lambert I r ,R ( ) k d ,R I i ,R (0) cos( ) I r ,G ( ) k d ,G I i ,G (0) cos( ) I r ,B ( ) k d ,B I ii,B (0) cos( ) Il colore della superficie dipende dai tre valori di riflettività (kd,R kd,G kd,B) e dal colore della sorgente 19 Lambert+Luce ambiente Una sorgente I r ,R k a ,R I a ,R k i ,R I i ,R cos( ) I r ,G k a ,G I a ,G k i ,G I i ,G cos( ) I r ,B k a ,B I a ,B k i ,B I i ,B cos( ) Se abbiamo p sorgenti puntiformi (θl = angolo con la sorgente l-esima) (naturalmente sono tre equazioni per R, G e B): p I r k a I a k d I i ,l cos( l ) l 1 20 Modello di Phong (1975) • Calcola anche la riflessione speculare imperfetta (bagliori) 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 21 Modello di Phong I r k d I i cos k s I i cos k a I a n riflessione lambertiana riflessione speculare imperf. luce ambientale L N cos R V cos 22 Modello di Phong • 1. 2. 3. 4. • L’aspetto della superficie del materiale è caratterizzato da: kd: coefficiente di riflessione diffusiva 0 kd 1 ks: coefficiente di riflessione speculare 0 ks 1 ka: coefficiente di riflessione luce ambientale 0 ka 1 n: esponente di Phong (ampiezza dell’highlight) Il colore e l’apparenza della superficie dipendono quindi dai nove valori (kdR kdG kdB) colore diffuso (ksR ksG ksB) colore speculare (kaR kaG kaB) colore ambientale 23 Modello di Phong • • • • Per il principio di conservazione dell’energia dovrebbe essere: kd + ks 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…… 24 Modello di Phong k s I i cos n • Nella componente speculare: • 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) 25 Modello di Phong • • La componente ambientale simula la luce che non proviene direttamente dalle sorgenti di illuminazione ma dagli altri oggetti dell’ambiente ed è costante (indipendente dal punto di vista e dalla posizione delle sorgenti). Moltissimi oggetti di uso comune hanno una riflessione mista: in parte diffusiva e in parte speculare 26 Modello di Phong Confronti con ka=0,7 n=10 al variare di kd e ks kd ks 27 Modello di Phong: variazione di ks e n ks crescente n cresc. 28 29 30 Modifica del modello di Phong: il modello di 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: kscosn dove cos = H·N • Questo modello non è fisicamente più corretto, ma più semplice da calcolare. Infatti l'angolo è sempre 90° e quindi si evita la necessità di doverne verificare il valore, inoltre è computazionalmente più semplice da calcolare di . • 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 Il calcolo di R Si può calcolare come: R = 2(N·L)N - L N 2(N·L)N - L (N·L)N L 2(N·L)N -L 32 Calcolo di H • Si calcola la bisettrice H tra L e V: H=(L+V)/||L+V|| è l’angolo tra H e N ovvero = arccos(H·N) H è uguale a N quando la sorgente è opposta a V: in questo caso la riflessione è massima (l’osservatore è sulla direzione speculare della sorgente) si comporta come l’angolo α : ne è una approssimazione. Ma l’angolo decresce più rapidamente, quindi nel modello di Blinn si 33 usa un esponente n più piccolo Il metodo di Blinn • È il metodo adottato in OpenGL e in Direct3D. • Occorre ricordare che quando l’angolo è maggiore di p/2 (90°) non c’è riflessione 34 Sorgenti di luce estese: modello di Warn •Si possono trattare sorgenti di luce non puntiformi (direzionali) e a distanza d (luci di Warn): Ii I sorgente cos w ( ) d 2 con angolo solido di emissione 35 Senza luce ambiente Con luce ambiente 36 Il modello completo I r ka I a (contribut o della luce ambiente) p n k I ( k cos k cos l ) att,l i ,l d l s (contribut o delle p sorgenti puntiformi ) l 1 e w n k I cos ( k cos k cos l ) (contribut o delle e sorgenti estese) att,l i ,l l d l s l 1 Il termine katt tiene conto dell’attenuazione della propagazione della luce nell’atmosfera rispetto alla sorgente l-esima con: katt = max ( 1/(a+bd+cd2) ; 1) invece del più semplice 1/d2 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 37 Limiti del modello locale illustrato • Ma l’intensità I della luce che cosa è: (Intesità 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 38