Podręcznik
5. Cieniowanie siatek wielościanowych
5.3. Cieniowanie Phonga
Gdybyśmy wykorzystali cieniowanie Gourauda w połączeniu z modelem odbicia lustrzanego, mogłoby dojśc do gubienia odblasków pochodzących od źródeł światła. Dopiero metoda Phonga zapewnia poprawne odwzorowanie odblasków oraz eliminację efektu Macha.
Cieniowanie Phonga określane jest również jako cieniowanie z interpolacją wektora normalnego. W metodzie tej zamiast jasności interpolowany jest wektor normalny N do powierzchni. Wektory normalne są interpolowane wzdłuż krawędzi wielokąta na podstawie normalnych w wierzchołkach, obliczonych w razie potrzeby w sposób omówiony dla przypadku cieniowania Gourauda.
Rysunek 40. a) Cieniowanie Gourauda; b) cieniowanie Phonga - dla tego samego modelu oświetlenia (model Phonga, czyli powierzchnia błyszcząca)
Interpolacja wzdłuż krawędzi może być dokonana za pomocą obliczeń przyrostowych. Wszystkie trzy składowe wektora normalnego są inkrementowane przy przejściu od przeglądanego wiersza do następnego przeglądanego wiersza. Dla każdego piksela wzdłuż przeglądanego wiersza interpolowana normalna jest normalizowana. Na koniec wykonuje się nowe obliczenie jasności za pomocą dowolnego modelu oświetlenia.
Cieniowanie Phonga daje istotne polepszenie w stosunku do cieniowania Gourauda. Wynika to z lepszego reprodukowania odblasków na błyszczącej powierzchni.