CIENIOWANIE
Bardzo ważnym elementem sceny jest
oświetlenie
. To właśnie odpowiednie dobranie oświetlenia
sprawia, ze cała
trójwymiarowa scena nabiera
prawdziwej
głębi.
1. etap - kalkulacja oświetlenia – obliczane są
wektory natężenia światła
dla każdego z
wierzchołków trójkątów tworzących scenę 3D (lub nawet dla
każdego piksela
).
2. etap - zostają one
zamienione na odpowiednia jasność
na powierzchniach wielokątów z nałożonymi
Nan teksturami.
Drugi etap generowania trójwymiarowego obrazu nazywa sie
cieniowaniem
(ang.
shading
)
Niektórzy używają tego pojęcia dla całości procesu, ale to dwa oddzielne typy algorytmów
Istnieje wiele metod cieniowania. Najważniejsze z nich to:
-
cieniowanie
płaskie;
-
cieniowanie
interpolacyjne Gourauda;
-
cieniowanie
Phong’a.
Cieniowanie płaskie
Cieniowanie płaskie (ang.
flat shading
) jest najprostsza metoda cieniowania. Polega ono na
przyporządkowaniu
całej powierzchni trójkąta jednego poziomu jasności
oraz uwzględnieniu
barwy
w
przypadku, gdy na scenie, rozstawione są
kolorowe
źródła światła.
Poziom jasności i barwa
są określane przez
jeden
z jego
wierzchołków
– zazwyczaj przez znajdujący sie
najbliżej obserwatora.
Oznacza to, ze
każdemu trójkątowi
przypisuje sie
jeden
ściśle określony
odcień
,
niezależnie od otaczających go wielokątów.
Zakłada sie wtedy również
rozproszone odbicie światła.
Niestety, rezultaty cieniowania płaskiego nie są zadowalające, gdyż szczególnie na okrągłych
przedmiotach (np. kulach) uzyskuje sie
efekt kanciastości obiektów
, wynikający z
gwałtownych zmian
jasności przylegających do siebie trójkątów
.
Cieniowanie Gourauda
Cieniowanie to (ang.Gouraud shading) zakłada, iż
pojedynczy odcień
wnętrza każdego trójkąta
powstaje
z uśrednienia
(interpolacji)
kolorów i natężenia
światła występujących w każdym z jego
wierzchołków.
Niejako
uwzględniona
zostaje jasność
sąsiednich
wielokątów.
Często
w metodzie tej wnętrzu trójkąta przypisuje sie
nie jeden
, ale
kilka różnych poziomów jasności.
Otrzymane są one przez
interpolacje natężenia światła
wzdłuż linii przechodzącej przez trójkąt i
biegnącej
od obserwatora do punktu w nieskończoności
(zwierciadlane odbicie światła).
W ten sposób zostają zachowane
płynne przejścia poziomów jasności pomiędzy poszczególnymi
wielokątami
, nie ma
przylegających
do siebie
obszarów
o drastycznie
różnych poziomach
natężenia
światła. Co ciekawe, cieniowanie Gourauda wywołuje
złudzenie gładkości sferycznych
obiektów.
złożonych nawet z
niewielkiej liczby
trójkątów.
Cieniowanie Phonga
Spośród klasycznych, najbardziej zaawansowanym i skomplikowanym pod względem obliczeniowym
sposobem odwzorowywania jasności obiektów jest
cieniowanie Phonga
(ang. Phong shading),
nazywane tez technika
per-pixel lighting
. W metodzie tej
kolor i natężenie światła
przyporządkowywane są
oddzielnie do każdego
punktu sceny 3D -
piksela obrazu.
W metodzie tej
interpolacji podlega wektor normalny
do powierzchni
na podstawie normalnych
wektorów węzłowych
.
Jasność
wewnątrz trójkąta może sie, zatem
wyraźnie różnic
od
wartości węzłowych.