Modelli di Illuminazione Daniele Marini 1 Obiettivo • Visualizzare scene cercando di simulare al meglio la realtà • Interazione luce-materiali – Modellare le sorgenti di luce – Modellare l’apparenza visiva dei materiali – Calcolare l’interazione 2 Distinguiamo tra modelli di illuminazione globali e locali I modelli locali trattano l’interazione luce materiali localmente, senza considerare il contributo di luce prodotto dall’ambiente I modelli globali tengono conto dell’intero ambiente. I modelli locali sono in generale dipendenti dal punto di vista, quelli globali sono “view independent” 3 I modelli di illuminazione locali 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 4 Interazione luce-superfici 5 Riflessione da superfici a) speculare b) diffusiva c) trasparente 6 Sorgenti di Luce sorgente estesa (lampadina): Funzione di illuminazione I(x,y,z, u, f, l) il contributo totale sulla superficie si ottiene integrando nello spazio 7 Sorgenti di luce • sorgenti colorate descritte con tre componenti di luminanza (vettore): I=[Ir, Ig, Ib] • Luce ambiente, idem: Ia=[Iar, Iag, Iab] • in generale l’energia che giunge da una sorgente a un punto è inversamente proporzionale al quadrato della distanza 8 sorgente puntiforme sorgente estesa e penombra 9 Sorgenti direzionali spot light n I cos (u) 10 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] 11 Modelli locali • • • • • • Lambert Componente luce ambiente Riflessione imperfetta Riflessione speculare Sorgenti di luce Trasparenza 12 La geometria dei modelli locali • N normale alla sup. in P • V direzione da P a COP • L direzione da P a sorgente di luce (se estesa è un punto su essa • R direzione di riflessione calcolata da N e L 13 Riflessione nei modelli locali La riflessione è di tre tipi. Dato: N normale alla superficie, L direzione luce incidente, R direzione luce riflessa: • 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 al limite dell’angolo solido (bagliori, highlight) • riflessione diffusiva: costante in tutte le direzioni, ma funzione di L.N 14 Riflessione di Lambert (diffusiva) Id kd cos(u)Ld 15 IR ( ) IRi (0)kdR cos( ) IG ( ) IGi (0)kdG cos( ) IB ( ) IBi (0)kdB cos( ) 16 Luce ambiente una sorgente IR IaR kaR I pR k dR cos( ) l IR IaR kaR I pR k dR cos( ) l più sorgenti 17 Modello di Phong (1973) I riflessa k a I a k d I d k s I s con : k a k d k s 1 dove : I d I i cos I i (L.N) I s I i cos I i (R.V) n n Ii intensità luce incidente n coefficiente di lucentezza (shininess) 18 19 20 ks crescente n cresc. 21 Estensioni del modello di Phong • per semplificare il calcolo di R si usa H=(L+V)/2, l’eq diventa: I riflessa ka I a I i (kd (L.N) ks (N.H) ) n • per il colore si trattano le 3 equazioni separatamente per R,G e B • si possono trattare sorgenti di luce non puntiformi (direzionali) e a distanza r (luci di Warn): I s cos m ( ) Ii r2 con angolo solido di emissione 22 Il calcolo di R si può calcolare come: R = 2(N.L)N - L 2(N.L)N - L N L (N.L)N 2(N.L)N -L 23 Un metodo alternativo • usando il semi angolo, si calcola il semivettore normalizzato H tra L e V H=(L+V)/||L+V|| yè l’angolo tra N e H; H èla normale al punto quando la sorgente è opposta a V: qui la riflessione è massima. Quindi N.H si comporta come l’angolo : è una approssimazione. Ma l’angolo decresce più rapidamente, quindi si usa un eseponente 24 più piccolo Il metodo del semiangolo • è il metodo adottato in Ogl e in Direct3D. • occorre ricordare che quando l’angolo è maggiore di p/2 non c’è riflessione 25 Il modello completo I Ia ka k p,att I p (k d cos( ) ks cos n ( )) p w n k I cos ( )(k cos( ) k cos ( )) e,att e d s e il termine katt tiene conto dell’attenuazione con la: 1/(a+bd+cd2) 26 Limiti del modello Il modello simula oggetti di plastica, ceramica o simili: Strato esterno - riflessione speculare Strato interno - riflessione diffusiva 27