Phong shading

Da Wikipedia, l'enciclopedia libera.

Il Phong shading è un metodo di interpolazione di computer grafica 3D, che utilizza l'interpolazione delle normali nella rasterizzazione dei poligoni, per ottenere migliori risultati delle riflessioni speculari tipo quelle generate dal Modello di riflessione di Phong.

Dal momento che le pubblicazioni dell'inventore del metodo combinò le tecniche d'interpolazione con il proprio modello di riflessione, il termine Phong shading è diventato d'uso comune per indicare anche il modello di riflessione o la combinazione di modello di riflessione e modello d'interpolazione.

Questi algoritmi vennero sviluppati da Bui Tuong Phong, che li pubblicò nella sua dissertazione all'Università dello Utah nel 1973.

Modello di illuminazione o riflessione di Phong[modifica | modifica wikitesto]

Exquisite-kfind.png Per approfondire, vedi Modello di riflessione di Phong.

La riflessione di Phong è un modello di illuminazione locale che può conferire un certo grado di realismo agli oggetti tridimensionali attraverso la combinazione di tre elementi: diffusione, riflessione e luce ambiente per ogni punto della superficie.

Il modello di riflessione non contiene elementi specifici per poligoni o pixel, a differenza del modello d'interpolazione.

Interpolazione di Phong[modifica | modifica wikitesto]

Esempio di interpolazione ottenuta con il metodo di Phong

Come metodo di rendering, il Phong Shading può essere visto come un miglioramento del Gouraud shading che fornisce una miglior approssimazione all'applicazione punto-punto di un modello di riflessione sottostante, assumendo una variazione gradiente della normale alla superficie. Il metodo d'interpolazione di Phong ha un funzionamento migliore di quello di Gouraud se applicato al modello di riflessione di Phong o a qualsiasi altro modello di riflessioni che generi riflessioni con un angolo limitato (ovvero superfici molto riflettenti).

Il problema principale del Gouraud Shading si ha quando la riflessione è vicina al centro di un grande triangolo. In pratica la riflessione non verrà mostrata, a causa dell'interpolazione di colori tra i vertici. Questo problema è stato corretto dal Phong shading.

Siano dati tre vertici in due dimensioni, v1, v2 e v3, e le normali alle superfici per ogni vertice n1, n2 e n3; supponiamo che siano tutte di lunghezza unitaria. A differenza del Gouraud shading, che interpola il colore lungo il triangolo, nel metodo di Phong interpoliamo linearmente la normale N lungo la superficie del triangolo, partendo dalle tre normali date. Questo calcolo viene effettuato per ogni pixel del triangolo, ed in ogni pixel normalizziamo N e la usiamo all'interno del modello d'illuminazione di Phong per ottenere il colore da assegnare al pixel.

In alcuni sistemi hardware, le varianti di questo algoritmo vengono chiamate pixel/fragment shading. Solitamente sta a significare che il calcolo di luce può essere fatto pixel per pixel, e che le variabili luminose (incluse le normali alla superficie o un qualche vettore approssimativo) vengono interpolate lungo il poligono.

Voci correlate[modifica | modifica wikitesto]

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica