System graficzny scena 3D algorytm graficzny obraz 2D Potok graficzny 3D Rados"aw Mantiuk Dane wej$ciowe Algorytm tworz!cy obraz wyj$ciowy na podstawie sceny 3D Dane wyj$ciowe Wydzia" Informatyki Zachodniopomorski Uniwersytet Technologiczny System graficzny 2D Graficzne interfejsy u#ytkownika System graficzny czasu rzeczywistego O"wietlenie lokalne System grafiki realistycznej Grafika bardzo du#ej jako$ci. O"wietlenie globalne. grafika realistyczna/fotorealistyczna O$wietlenie globalne i lokalne Potok graficzny Scena 3D wielok!ty (po"o#enie wierzcho"ków XYZ)) kolory (wektor RGB) wektory normalne (N) tekstury (wspó". tektury (u,v)) Wykonywanie kolejnych operacji, dane wyj$ciowe z danej operacji s! wej$ciem dla kolejnej. Potok akumuluje b"%dy. Zakres informacji nie powi%ksza si% w kolejnych krokach potoku. bufor ramki (ang. frame buffer) wspó!. lokalne -> wspó!. globalne (macierz transform.) rzutowanie (macierz rzutowania) przej$cie do wspó". rastrowych teksturowanie O$wietlenie globalne O$wietlenie lokalne obliczenie koloru (równanie o"wietlenia dla wierzcho"ków) clipping cieniowanie (p"askie lub Gouraud) pomijanie niewidocznych pikseli (bufor Z)
Scena 3D Zbiór trójwymiarowych danych wej$ciowych wykorzystywanych do wygenerowania obrazu wyj$ciowego 2D. - 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.). Scena 3D Scena 3D - Reprezentacje geometrii obiektów Reprezentacja obiektów geometrycznych - obiekty parametryczne opisane równaniami matematycznymi, - reprezentacja wielok!towa, - obiekty z"o#one, - reprezentacja fraktalna, - krzywe i powierzchnie, - obiekty CSG. Obraz wyj$ciowy Scena 3D - Modelowanie 3D Scena 3D - Reprezentacja wielok!towa (1)! Trójk#t - obiekt podstawowy (wspó!p!aszczyznowo"$ wierzcho!ków trójk#ta)! Du%a liczba identycznych obiektów.! Wykorzystanie tych samych algorytmów do przetwarzania wszystkich obiektów (architektura SIMD kart graficznych).! Ograniczona dok!adko"$ odwzorowania powierzchni kszywoliniowych (aproksymacje powierzchni krzywoliniowych).! Du%a liczba obiektów potrzebna do zbudowania prostego kszta!tu geom. (przyk!ad kuli).
Scena 3D - Reprezentacja wielok!towa (2) Optymalizacja reprezentacji wielok!towej - unikanie powtórze' definicji wierzcho"ków. Scena 3D - Powierzchnie krzywoliniowe (1) Opisane za pomoc! równa' matematycznych (ang. implicit representation) funkcja uwik"ana Reprezentacja parametryczna (ang. parametric representation) konfiguracja strip v10 konfiguracja fan v9 v8 konfiguracja mesh Spline - parametryczna krzywa/powierzchnia wielomianowa Scena 3D - Krzywa Biezier a Krzywa Beziera wyznaczana jest przez cztery punkty kontrolne Scena 3D - Powierzchnie krzywoliniowe (2) &ata Beziera (ang. Bezier patch) - 16 punktów kontrolnych Odcinki wyznaczane przez PoP1 oraz P3P2 s! styczne do krzywej. Sk"adaj! si% z wielok!tów o kraw%dziach b%d!cych krzywymi Bezier a. (aty "!czone s! w powierzchnie krzywoliniowe Bezier a (Bezier splines). B-splines - krzywe/powierzchnie parametryczne powsta"e poprzez po"!czenie "at. NURBS - ang. non-uniform, rational B-spline - uogólnienie krzywych/powierzchni Bezier a. NURBS nie zmianiaj# si' po przekszta!ceniach afinicznych i perspektywicznych. Pictures courtesy of MIT (Lecture Notes 6.837)
Scena 3D - Powierzchnie krzywoliniowe (3) Czajnik zbudowany z "at Bezier a (32 "aty). Scena 3D - Powierzchnie krzywoliniowe (4) Dok"adno$) odwzorowania powierzchni kontrolowana przez liczb% wielok!tów w "acie. Obiekty deformowane s! w sposób ci!g"y. Courtesy of MIT (Lecture Notes 6.837) Courtesy of MIT (Lecture Notes 6.837) Scena 3D - Reprezentacja obrotowa (ang. Sweep) Powielanie kszta"tu 2D w 3D. Scena 3D - Reprezentacja proceduralna (1) Reprezentacja fraktalna - tworzenie kszta"tów geometrycznych za pomoc! algorytmów. Courtesy of MIT (Lecture Notes 6.837) Courtesy of MIT (Lecture Notes 6.837)
Scena 3D - Reprezentacja proceduralna (2) Scena 3D - Obiekty CSG CSG - ang. Constructive Solid Geometry Courtesy of MIT (Lecture Notes 6.837) Tworzenie siatek terenów (ang. high fields) Systemy L Picrues - courtesy of MIT (Lecture Notes 6.837) Scena 3D - Reprezentacja hierarchiczna Obiekty z"o#one sk"adaj! si% z wielu obiektów podstawowych. Powtarzaj!ce si% elementy reprezentowane s! za pomoc! transformacji geometrycznych. Scena 3D - Kamera (1)! Definiuje jaka cz%$) przestrzeni trójwymiarowej b%dzie widoczna na wyj$ciowym obrazie 2D.! Okre$la sposób rzutowania (prostok!tne, perspektywiczne, itp.). xres up lookp twist yres! k#t patrzenia FOV (ang. Field of View)! punkt po!o%enia kamery! punkt, na który patrzy kamera! k#t skr'cenia kamery! rozdzielczo"$ pionowa i pozioma! orientacja obrazu! aspekt (ang. aspect ratio) FOV eyep Courtesy of Andries van Dam Courtesy of Andries van Dam
Scena 3D - Kamera (2) Scena 3D - Kamera (3) k!t patrzenia (FOV) Clipping usuwanie obiektów znajduj!cych si% poza polem widzenia. Courtesy of Andries van Dam powierzchnie obcinaj!ce (ang. clipping planes) Culling - usuwanie obiektów zas"oni%tych przez inne obiekty (np. ang. backface culling). Courtesy of Andries van Dam Scena 3D - &ród"a $wiat"a (1) Emisja widzialnej fali elektromagnetycznej (400-700 nm) Scena 3D - &ród"a $wiat"a (2) Naturalne *ród"a $wiat"a - generowanie mi%kkich cieni (ang. soft shadows).!wiat"o punktowe (point light)!wiat"o kierunkowe (distant light)!wiat"o sto#kowe (spot light)!wiat"o liniowe (linear light)!wiat"o powierzchniowe (area light)
Scena 3D - Materia" (2) Scena 3D - Materia" (1) Sk!adowe koloru obiektu: - kolor otoczenia (ang. ambient), - kolor "wiat!a rozproszonego (ang. diffuse), - kolor rozb!ysków (ang. specular). W!asno"ci powierzchni obiektów: - powierzchnie rozpraszaj!ce, - powierzchnie odbijaj!ce (lustrzane), - powierzchnie za"amuj!ce (przezroczyste). " ambient diffuse " " specular! = ambinet + diffuse = ambinet + diffuse + specular powierzchnia rozpraszaj#ca!! powierzchnia odbijaj#ca - k#t padania równy jest k#towi odbicia Warto$) koloru definiowana jako wektory RGB o sk"adowych R (red), G(green), B(blue) Scena 3D - Materia" (3) Sceny 3D - Parametry $rodowiska Teksturowanie powierzchni obiektów. Parametryzacja przestrzeni sceny. Mg!a " powierzchnia za!amuj#ca!
Transformacja geometrii Wspó!rz'dne lokalne modelu -> Wspó!rz'dne globalne Rzutowanie Odwzorowanie fragmentu przestrzeni na p!aszczy(nie Obiekt znajduje si% w pocz!tku uk"adu globalnego (ang. model coordinates). W wyniku transformacji jest przekszta"cany do po"o#enia i kszta"tu docelowego (ang. world coordinates). perspektywiczne prostok#tne Rzutowanie prostok!tne (równoleg"e) (1) Ang. orthographic (parallel) projection Rzutowanie prostok!tne (równoleg"e) (2) Obliczanie wspó"rz%dnych wierzcho"ków po rzutowaniu - zachowanie proporcji obiektów - szybka implementacja - brak perspektywy - zerowanie wspó"rz%dnej Z - skalowanie transformacja do wspó"rz%dnych kanonicznych
Rzutowanie perspektywiczne Rzutowanie perspektywiczne Y p.y q.y q p q.y = p.y / p.z q.x = p.x / p.z q.z = 1 1 p.z Z rzutnia Transformacja do wspó"rz%dnych ekranu Testowanie widoczno$ci obiektów x ' = x +1 2 " xres y ' = y +1 2 " yres Obliczenie wspó"rz%dnych rastrowych wierzcho"ków obiektów (0,0) Bufor Z (ang. Z-buffer) Miejsce w pami%ci osobne dla ka#dego piksela przeznaczone na zapami%tanie aktualnej warto$ci Z piksela. Wielko$) bufora Z decyduje o precyzji testowania widoczno$ci (obecnie stosuje si% Z-bufory 32-bitowe). Warto$) bufora uaktualniana jest dla ka#dego piksela i ka#dego trójk!ta. (xres,yres) Warto$ci z dla pikseli z wn%trza trójk!ta s! interpolowane na podstawie po"o#enia wierzcho"ków trójk!ta.
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.