Podręcznik
5. Cieniowanie siatek wielościanowych
5.4. Porównanie metod
Rozpatrzmy sytuację, w której n występującemu w członie cosnα cieniowania Phonga oświetlenia przypiszemy dużą wartość i dla jednego wierzchołka określimy bardzo mały kąt α, natomiast dla każdego z sąsiednich wierzchołków kąt α jest duży. Wynikają z tego następujące wnioski:
- Jasność związana z wierzchołkiem, dla którego kąt α określiliśmy jako niewielki, będzie odpowiednia dla odblasku, a dla innych jasności pojawią się wartości, nie odpowiadające odblaskowi.
- Po zastosowaniu metody cieniowania Gourauda jasność wzdłuż wielokąta jest liniowo interpolowana między jasnością odblasku a mniejszymi jasnościami sąsiednich wierzchołków, rozprzestrzeniając odblask po powierzchni wielokąta.
Przy wykorzystaniu normalnych interpolowanych liniowo do obliczenia czynnika cosnα w każdym pikselu, mamy do czynienia z ostrym spadkiem jasności odblasku (Rys. 41 b).
Rysunek 41. Odblask w lewym wierzchołku: a) Cieniowanie Gourauda, b) cieniowanie Phonga
W przypadku, gdy odblask nie trafi na wierzchołek, cieniowanie Gourauda może je całkowicie pominąć. Dzieje się tak, ponieważ żaden punkt wewnętrzny nie może być jaśniejszy od najjaśniejszego wierzchołka, od którego zaczyna się interpolacja.
Natomiast w metodzie cieniowania Phonga możliwe jest prawidłowe odwzorowanie odblasku wewnątrz wielokąta.
Rysunek 42. Odblask wewnątrz wielokąta: a) Cieniowanie Gourauda, b) cieniowanie Phonga.
Innym przykładem jest Aplikacja nr 5 (Rysunek 43). Każda ściana wirującego czworościanu jest wyświetlana stopniowo przechodzącymi w siebie barwami, wynikającymi z interpolacji barw w wierzchołkach.
Rysunek 43. Cieniowanie czworokąta oświetlonego trzema kolorowymi źródłami światła metodą Gourauda i Phonga - do wyboru.
Wykorzystanie dla modelu oświetlenia interpolacji wektora normalnego daje większe korzyści wizualne niż wykorzystanie interpolacji jasności, przy pominięciu współczynnika odbicia zwierciadlanego. Zaletą zastosowania interpolacji wektora normalnego jest w większości przypadków redukcja problemu pasm Macha. Jednakże w wyniku takiego postępowania znacznie zwiększa się koszt cieniowania w bezpośredniej implementacji, ponieważ interpolowana normalna musi być normalizowana za każdym razem, gdy jest używana w modelu oświetlenia.
Wyznaczone normalne związane z wierzchołkami mogą nie reprezentować dokładnie geometrii powierzchni. Rozpatrzmy poniższy książkowy przykład. Jeżeli obliczymy normalne związane z wierzchołkami na zasadzie uśredniania normalnych do powierzchni mających wspólny wierzchołek, to wszystkie normalne związane z wierzchołkiem będą do siebie równoległe. W efekcie otrzymamy niewielką zmianę jasności sąsiednich powierzchni albo jej brak w przypadku cieniowania dla odległego źródła światła. Rozwiązaniem problemu może być dalsza dekompozycja wielokątów przed obliczeniem normalnej związanej z wierzchołkiem.
Rysunek 44. Wszystkie normalne związane z wierzchołkami są do siebie równoległe