Illuminazione

la fase di rasterizzazione non e sufficiente per determinare il colore di un oggetto dato che esso nel mondo reale e determinato dalla quantità e dalle componenti di luce che l’oggetto stesso riflette e che viene catturata da’occhio umano

Il fenomeno fisico in questione viene catturato dalla rendering equation oggetto matematico fin troppo complesso per essere risolto analiticamente

I modelli di illuminazione usati in computer graphics sono approssimazioni della rendering equation suddivisi in locali e globali

MODELLI LOCALIMODELLI GLOBALI
modelli che tengono conto della luce emessa dalle fonti e dalle proprieta del materialemodelli che tengono conto anche della luce riflessa dalle altre superfici presenti nella scena

Modello di illuminazione di phong

E’ un modello di illuminazione locale definito come segue:

la componente riflessiva puo essere diffusa o speculare

Componente d’ambiente

Componente dovuta alle caratteristiche specifiche del materiale di un oggetto

Componente di riflessione diffusa

Tipica dei materiali opachi, caratterizzata dal fatto che la luce che colpisce un punto si riflette in tutte le direzioni allo stesso modo

Questa componente dipende strettamente dall’angolo tra la normale del punto e la direzione del raggio di luce che colpisce l’oggetto

si ricorda che e sono vettori normali

Componente di riflessione speculare

Questa componente approssima il comportamento di riflessione della luce dei materiali lucidi che non e omogenea in tutte le direzioni

Questa componente dipende anche dalla posizione dell’osservatore

dove gli scalari sono dipendenti dal materiale dell’oggetto

Computazione della luce

Nella pipeline di rendering e necessario includere un algoritmo in grado di computare il colore di un triangolo illuminato, questo viene fatto per mezzo degli algoritmi di shading

Flat shading

dato un poligono, si computa la normale per ogni faccia e si applica il modello di illuminazione al centro della faccia

Questa risulta essere una delle soluzioni più semplici, ma il risultato ottenuto e abbastanza mediocre, inoltre il risultato soffre dell’effetto di band match

Gouraud shading

Algoritmo che sfrutta il concetto di interpolazione dei vertici,

flowchart TD
A[si applica il modello di illuminazione ai 3 vertici]
B[si interpolano le componenti dei vertici]
B -- per ogni pixel del poligono -->B
A --> B
B -- per ogni poligiono --> A

in questo caso la normale e definita a livello di vertice come somma delle normali delle superfici adiacenti

qui un esempio di implementazione in webGL

Phong shading

Variante del gouraud shading che effettua l’interpolazione delle normali dei vertici prima di applicare il modello di illuminazione

flowchart TD
A[si computano le normali dei vertici]
B[si interpolano le normali dei vertici]
C[si rinormalizza]
D[si applica il modello di illuminazione alla nuova normale]
A --> B --> C --> D 

PREVIOUS NEXT