Cieniowanie – podstawy grafiki 3D, część 3

W odróżnieniu do przedstawionych wcześniej sposobów aproksymacji zachowania światła, cieniowanie (ang. shading) nie ma bezpośredniego odpowiednika w rzeczywistości. W klasycznym podejściu cieniowaniem nazywamy obliczanie koloru poszczególnych pikseli wyjściowego obrazu. Można to robić na rożne sposoby i jak zwykle, te dające lepsza jakość obrazu, pochłaniają większą ilość zasobów. Poniżej opisano te, które stosowane są najczęściej.

Najprostsze cieniowanie stałe, polega na obliczeniu jednego koloru dla całej powierzchni. Wszystkie piksele zawarte w obrębie ściany budującej daną bryłę otrzymują jednakową barwę i natężenie.

Używając cieniowania Gourauda, należy najpierw obliczyć kolor wierzchołków wielokąta (można do tego użyć dowolnego modelu oświetlenia), a następnie ustalić kolor pikseli miedzy nimi, stosując liniową interpolację. Daje to dobre efekty, pod warunkiem, że nie wykorzystujemy modelu oświetlenia z odblaskiem. Może się wtedy zdarzyć, że w trakcie zmiany orientacji obiektu albo punktu patrzenia, odblask będzie znikał lub pojawiał się, uwidaczniając wielokąty użyte do budowy przybliżonej, zaokrąglonej powierzchni.

Cieniowanie Phonga polega na obliczeniu w wierzchołkach, wektora normalnego do powierzchni wymodelowanego obiektu, a następnie interpolacje takiego wektora dla każdego piksela znajdującego się na wielokącie, miedzy tymi wierzchołkami. Każdy taki wektor używany jest następnie do obliczenia koloru piksela, przy użyciu wybranego modelu oświetlenia. Opisana metoda wymaga naturalnie większej ilości obliczeń, pozwala jednak na otrzymanie wrażenia gładko zaokrąglonych powierzchni, pomimo ze właściwe bryły zbudowane są z „kanciastych” wieloboków.

Komentowanie nieaktywne.