Modelli di illuminazione
Tesina realizzata per il corso di Algoritmi della Visualizzazione, AA 2004-2005
Luca Pastorello
<[email protected]>
Introduzione
Per produrre scenari altamente realistici tramite il computer è necessario simulare accuratamente il
processo d’illuminazione naturale piuttosto che generare solo un’illusione di realismo. La
simulazione dell’illuminazione richiede un modello che abbia solide basi fisiche.
Lo scopo di questa tesina è quello di mettere a confronto i vari modelli di illuminazione che sono
stati sviluppati nel corso degli anni, partendo dal primo modello di Wylie fino ad arrivare alle
ultime soluzioni.
Come viene illuminato un oggetto
Un modello di illuminazione prende in considerazione due tipi di sorgenti luminose in una scena:
una luce puntiforme (un raggio emanato in un singolo punto) e la luce d’ambiente. Queste sorgenti
illuminano le facce di un oggetto; una parte della luce viene riflessa e un’altra parte viene assorbita.
La quantità totale di luce riflessa dipende dal tipo di materiale con cui è stata costruita la superficie.
Materiali lisci rifletteranno di più mentre materiali ruvidi assorbiranno la maggior parte della luce.
Alcuni materiali possono anche essere trasparenti, in modo che la luce li oltrepassi.
Di solito l’attenzione in questi modelli viene concentrata solo sulla luce riflessa, una parte della
quale è quella che raggiunge l’osservatore rendendo l’oggetto visibile. Generalmente si tratteranno
due tipi riflessione:
1. Luce diffusa: Si manifesta quando una parte della luce incidente penetra lievemente nella
superficie e viene ri-emessa uniformemente in tutte le direzioni. La luce diffusa interagisce
fortemente con la superficie e viene influenzata dalla natura del materiale con cui è
composta la superficie.
2. Riflessione Speculare: La luce incidente che non penetra nell’oggetto ma si riflette
direttamente lungo la superficie esterna rendendola lucida. La luce riflessa specularmene ha
lo stesso colore della luce incidente.
La quantità di luce totale riflessa da una superficie in una certa direzione è pari alla somma della
componente diffusa e quella speculare. Per ogni punto di interesse della superficie si calcola la
somma totale di queste due componenti che raggiunge l’osservatore.
Per calcolare il totale della luce riflessa abbiamo bisogno di tre valori:
1. La normale n alla superficie al punto p;
2. Il vettore v da p all’osservatore e;
3. i vettori s da p verso la sorgente luminosa.
Vedremo in seguito i vari modelli che si sono sviluppati, partendo dai più semplici che non
prendono in considerazione alcuni fattori, per poi passare a modelli più complessi.
MODELLI DI ILLUMINAZIONE
Modello di Wylie
I modelli di illuminazione empirici sono modelli molto semplici che generano solo l’illusione di
realismo. Uno dei primi modelli utilizzati per determinare la luminosità riflessa dagli oggetti
presenti nelle immagini al computer fu proposto da Wylie nel 1967. Egli constatò che l’intensità
luminosa di un punto della superficie di un oggetto era inversamente proporzionale alla distanza
della sorgente di luce. La formula da lui proposta era:
Ir = Iiβd
Dove Ir è l’intensità della luce riflessa, Ii è l’intensità della luce incidente, d è la distanza dalla
sorgente luminosa e β è una costante.
Piani paralleli a distanze diverse da una sorgente luminosa vengono visualizzati con una luminosità
differente, ma in questo modo non vengono evidenziate alcune proprietà come la riflessività e la
ruvidezza delle superfici. Modelli come questi vengono utilizzati solamente in applicazioni che
simulano gli effetti atmosferici come nebbia o foschia.
Modello di lambert
Per migliorare il modello di Wylie, deve essere preso in considerazione anche l’orientamento della
superficie riflessiva rispetto alla sorgente luminosa. Il Modello sviluppato da Lambert risolve
questo problema. Assumendo che la luce sia riflessa in maniera equa in ogni direzione, la
luminosità in una data posizione della superficie è proporzionale al coseno dell’angolo tra la
normale alla superficie N e il vettore luminoso L. In questo modo la legge di Lambert risulta:
Ir = Ii Kd(N*L)
Dove Kd è il coefficiente di diffusione della luminosità. Questo modello produce risultati
ragionevoli, ma la maggior parte dei materiali reali è imperfetto e non si attiene a questa legge, di
conseguenza alcune superfici non possono essere rappresentate al meglio. Ad ogni modo, una
superficie diffusiva imperfetta può essere suddivisa in un certo numero di facce per simulare la
ruvidezza del materiale tramite questo modello.
Figura 1: Il Riflessione della luce nel modello di Lambert.
Modello di Bouknight
Nello scenario proposto da Lambert, solo la faccia esposta alla sorgente luminosa viene illuminata.
Nel mondo reale, la luce riflessa dalle altre superfici illuminano le facce di un oggetto da ogni
direzione, facendo si che tutte le facce siano visibili. Bouknight utilizzò la luce d’ambiente unita al
modello di Lambert per sviluppare un nuovo modello nel 1970. La luce d’ambiente in questo
modello è un’approssimazione dell’illuminazione di fondo della scena. Il modello proposto può
essere descritto come:
Ir = IaKa + Kd(N*L)
Dove Ia è l’intensità della luce d’ambiente e Ka è il coefficiente di riflessione ambientale.
In definitiva l’inclusione di un termine che rappresenta la luce ambientale nel modello di Bouknight
fa si che le scene illuminate da una sola sorgente luminosa abbiano un alto grado di realismo
rispetto ai modelli precedenti. Comunque resta il fatto che il modello sia limitato dall’impossibilità
di rappresentare superfici lucide.
Figura 2: Limitazione del modello di Lambert risolta nel modello di Bouknight.
Modello di Phong
Nel 1975, Bui Tuong Phong introdusse un modello disegnato per rappresentare le riflessioni
provenienti da superfici lisce. Il modello conteneva una combinazione lineare di una componente
diffusa, una componente ambientale e una componente speculare empirica. Phong assume che la
luce viaggiando dalla direzione L sia riflessa lungo il vettore R, come si può vedere in figura 3. Se
il vettore dell’osservatore V è uguale al vettore riflessione R la luce riflessa sarà molto intensa e
darà luogo a un bagliore, mentre se V si allontana da R, l’intensità della luce inizierà a decadere.
Phong rappresentò questo valore come (R*V)n, dove n è l’indice speculare, che è posto ad infinito
per un materiale perfettamente riflettente, nella figura 4 si può vedere l’effetto prodotto aumentando
il valore di n. Il modello di Phong è descritto dalla seguente equazione:
Ir = Iaka + Ii( kd(N*L) + ks(R*V)n)
Dove ks è il coefficiente di riflessione speculare.
E’ da notare che il coefficiente di riflessione speculare è indipendente dalla lunghezza d’onda, il
che significa che i bagliori speculari sono sempre dello stesso colore della sorgente luminosa.
Questo comportamento non è accurato ma produce comunque buoni risultati.
Il problema principale del modello di Phong è che non considera le variazioni del picco speculare
rispetto alla posizione della sorgente luminosa. Questo significa che la sorgente luminosa e
l’osservatore sono posti a distanza infinita dall’oggetto. Anche la distribuzione dell’intensità della
sorgente luminosa è stata ignorata.
Questo modello è comunque usato largamente in grafica in quanto produce risultati ragionevoli e
richiede un tempo di elaborazione relativamente breve se comparato con altri modelli. Il modello di
Phong può anche essere integrato nell’hardware di una macchina, riducendo così di molto il tempo
di esecuzione.
Figura 3: Riflessione della luce nel modello di Phong.
Figura 4: Effetto prodotto aumentando il valore dell’indice di
riflessione nell’equazione del modello di Phong.
Prime conclusioni
Fino a questo punto, sono stati presentati diversi modelli di illuminazione, ognuno dei quali produce
buoni risultati per alcune superfici con un tipo specifico di illuminazione. Il modello di Bouknight
e tutti quelli successivi che includono la luce d’ambiente, sono buoni per rappresentare superfici
illuminate da una singola sorgente puntiforme. Ad ogni modo, il modello di Phong produce buoni
risultati per superfici lisce illuminate da una sorgente luminosa posta a distanza infinita.
Modello PHIGS
Durante gli anni ’80, fu sviluppato il sistema grafico gerarchico interattivo per programmatori
(Programmer’s Hierarchical Interactive Graphics System, PHIGS). Per la prima volta, tipi differenti
di luci vennero introdotte nel modello. Le sorgenti luminose potevano essere ambientali,
direzionali, posizionali oppure orientate, come mostrato in figura 5.
Nel mondo reale, la luce è diffusa sui contorni di un oggetto, in modo che l’oggetto sia illuminato
indipendentemente dalla sua posizione. Per approssimare un comportamento del genere, il modello
PHIGS modella la luce d’ambiente come una costante, diffondendola su tutti i lati dell’oggetto. La
luce ambientale ha un’intensità definita da una tripletta RGB e quindi può essere di qualsiasi colore.
Le sorgenti luminose direzionali hanno un colore e una direzione. La luce viene indirizzata in una
direzione specifica, e finché la sua distanza dall’oggetto viene considerata infinita, la direzione è la
stessa per tutti gli oggetti, senza prendere in considerazione la loro posizione.
Il terzo tipo di luce introdotto da PHIGS è la luce posizionale. Questa è una luce puntiforme i cui
raggi viaggiano in tutte le direzioni. I raggi che provengono da questo tipo di luce non sono
paralleli, e quindi la posizione di un oggetto relativamente alla sorgente di luce influenza l’angolo
con cui la luce colpisce la sua superficie. Per definire una sorgente luminosa puntiforme, si deve
fornire una posizione, un’intensità e due coefficienti di attenuazione. Questi coefficienti descrivono
in che modo la luminosità decade allontanandosi dalla sorgente e possono quindi essere usati per
rappresentare effetti di nebbia o foschia. L’ultimo tipo di sorgente luminosa nel modello PHIGS è la
luce orientata. Questa è una luce puntiforme con un cono di influenza, al di fuori del quale non vi è
emissione di luce, come si può vedere in figura 6.
Figura 5: Tipi di illuminazione introdotti nel modello PHIGS
Figura 6: il cono di illuminazione di una luce orientata (spot light)
Modello di Illuminazione in PHIGS
Per standardizzare i modelli di illuminazione già esistenti, PHIGS li combina in un set di equazioni.
Il modello di PHIGS può essere espresso in questa maniera:
Dove Ia è il contributo della sorgente luminosa d’ambiente, Id è il contributo della sorgente
luminosa diffusa, Is è il contributo della sorgente luminosa speculare e n è il numero totale delle
sorgenti luminose attive. I contributi delle luci d’ambiente, quelle diffuse e quelle speculari sono:
Ia = KaLcOd
Id = KdLcOd( 1 + La((Ld*(-L))Le))(N*L)
Is = KsLcOs( 1 + La((Ld*(-L))Le))(V*R)Oe
Dove:
Ld è il vettore luce
L è la posizione della luce
Od è il colore diffuso dell’oggetto
Oe è l’esponente speculare.
Lc è il colore della sorgente luminosa.
Le è l’esponente della concentrazione luminosa
Os è il colore speculare dell’oggetto.
Biografia
 Maggie Johnson: Illumination Models, CS 148, cap. 15.
 Eric P. Lafortune, Yves D.Willems: Report CW 197, The Modified Phong reflectance
model, cap 3, Novembre 1994.
 Dean Gammage: A comparsion of Physically and Empirically Based Illumination models,
Cap. 2, 3, 4, Ottobre 1993.
 Daniele Marini, Maresa Bertolo, Alessandro Rizzi: Comunicazione visiva digitale, Modelli
di illuminazione, pp 254-261.