Zbiór trójwymiarowych danych wej$ciowych wykorzystywanych do wygenerowania obrazu wyj$ciowego 2D. Cieniowanie (ang. Shading) Rados"aw Mantiuk Wydzia" Informatyki Zachodniopomorski Uniwersytet Technologiczny - Definicja geometrii obiektów 3D. - Definicja materia"ów pokrywaj(cych obiekty. - Kolor powierzchni obiektów. - Tekstura. - W"asno$ci powierzchni. - Kamera. - )ród"a $wiat"a. - Parametry $rodowiska (mg"a, dym, itp.). Obraz wyj$ciowy - Materia" Skadowe koloru obiektu: - kolor otoczenia (ang. ambient), - kolor #wiata rozproszonego (ang. diffuse), - kolor rozbysków (ang. specular). Obliczenie koloru powierzchni (ang. Lighting) wiat"o biegnie od #ród"a $wiat"a, odbija si% od powierzchni obiektów i trafia do oka. Kolor powierzchni zale&y od ilo$ci $wiat"a odbitego, pochoni"tego oraz wyemitowanego przez powierzchni%. Powierzchnia mo&e w ró&ny sposób oddzia"ywa' z ró&nymi d"ugo$ciami fal $wietlnych. ambient diffuse specular = ambinet + diffuse = ambinet + diffuse + specular Powierzchnia b%dzie mia"a kolor czerwony, je&eli poch"ania wszyskie d"ugo$ci fal z wyj(tkiem d"ugo$ci odpowiadaj(cych barwie czerwonej.
Model o$wietlenia Model o$wietlenia (ang. illumination model) - sposób obliczania rozchodzenia si% $wiat"a w danym otoczeniu (obliczanie kolorów powierzchni). Parametry powierzchni - sk"adowe ambient, diffuse i specular materia"u )ród"o $wiat"a - obiekt emituj(cy $wiat"o (ang. illumination). Lighting - obliczanie koloru powierzchni (np. koloru w wierzcho"kach trójk(ta). Shading - obliczanie koloru pikseli wewn(trz wielok(ta. wektory normalne - parametryzuj( kszta"t powierzchni, zmieniaj(c kierunek wektorów normalnych mo&na zmieni' sposób interakcji powierzchni i $wiat"a Równanie o$wietlenia (model Phong a)(1) Obliczenie koloru w wierzchokach wielok$tów na podstawie parametrów powierzchni oraz parametrów #róde" $wiat"a. i amb = m amb " s amb i tot = i amb + i diff = m diff " s diff " (l " n) i spec = m spec " s spec " (v " r) m shi N " k=1 k (i diff k + i spec ) v r " p model o$wietlenia Phong'a n l Równanie o$wietlenia (2) ambient ambient + specular Równanie o$wietlenia - sk"adowa ambient Aproksymacja o$wietlenia $wiat"em odbitym od innych obiektów znajduj(cych si% na scenie. Aproksymacja o$wietlenia globalnego, zachowanie widoczno$ci obiektów znajduj(cych si% w cieniu. ambient + diffuse ambient + diffuse + specular
Równanie o$wietlenia - sk"adowa diffuse O$wietlenie zale&ne od w"asno$ci materia"ów oraz w"asno$ci #róde" $wiat"a. Prawo Lamberta - ilo$' $wiat"a docieraj(ca do powierzchni jest proporcjonalna do kosinusa k(ta mi%dzy normaln( do powierzchni i kierunkiem do #ród"a $wiat"a (istotne s( k(ty do 90 stopni). Równanie o$wietlenia - sk"adowa specular i spec = m spec " s spec " (v " r) m shi Prawo Snell a - w przypadku odbicia k(t odbicia równy jest k(towi padania. Niektóre powierzchnie (np. metaliczne) s( zbudowane z elementów odbijaj(cych $wiat"o (lustro jest przyk"adem powierzchni idealnie odbijaj(cej). Dla takich powierzchni wi%kszo$' $wiat"a odbijana jest w kierunku odbicia, wraz z oddalaniem si% od tego kierunku ilo$' $wiat"a maleje. Skadowa specular zale%y od poo%enia obserwatora, parametrów powierzchni i #róde" $wiat"a. Równanie o$wietlenia - sk"adowa specular Modele o$wietlenia bazuj(ce na prawach fizyki Model Phong a jest aproksymacj( rzeczywistego modelu o$wietlenia. Bidirectional Reflectance Distribution Function (BRDF) - funkcja opisujca interakcj" #wiat$a z dan powierzchni. Powierzchnie anizotropowe - ró&ny sposób odbicia $wiat"a dla ró&nych kierunków padania.
Cieniowanie w rastrze (ang. shading) Obliczanie kolorów pikseli wewn$trz wielok$ta na podstawie kolorów wierzchoków. Cieniowanie p"askie (ang. flat shading). Cieniowanie Gourraud a. Cieniowanie Phong a. Cieniowanie p"askie Dla ca"ego wielok(ta u$redniony kolor wierzcho"ków. Kolor = (C1+C2+C3)/3 C1 Phong C3 C2 p"askie Gouraud Cieniowanie Gouraud Interpolacja liniowa koloru wierzcho"ków. Ze wzrostem odleg"o$ci od wierzcho"ka maleje jego wp"ywa na kolor piksela. Cieniowanie Phong a Interpolacja liniowa wektorów normalnych. Kolor piksela obliczany na podstawie wektora normalnego obliczonego dla danego piksela. zmiana potoku graficznego
Cieniowanie Phong a: Potok graficzny wielok(ty (po"o&enie wierzcho"ków XYZ)) kolory (wektor RGB) wektory normalne (N) tekstury (wspó". tektury (u,v)) bufor ramki (ang. frame buffer) Literatura 1. Tomas Moller, Eric Haines, Real-Time Rendering, A K Peters, ISBN 1-56881-101-2 2. Lecture notes on Graphics. Lecture 6.837, Computer Graphics Group, Massachusetts Institute of Technology, http://groups.csail.mit.edu/graphics/classes/6.837/f01/notes.html. wspó. lokalne -> wspó. globalne (macierz transform.) rzutowanie (macierz rzutowania) przej$cie do wspó". rastrowych teksturowanie obliczenie koloru (równanie o#wietlenia dla wierzcho"ków) clipping cieniowanie (Phong'a) Rozwi$zywanie równania o#wietlenia dla ka%dego piksel. pomijanie niewidocznych pikseli (bufor Z)