Modelowanie i wizualizowanie 3W-grafiki Oświetlenie i cieniowanie Aleksander Denisiuk denisjuk@matman.uwm.edu.pl Uniwersytet Warmińsko-Mazurski w Olsztynie Wydział Matematyki i Informatyki ul. Słoneczna 54 10-561 Olsztyn Modelowanie i wizualizowanie 3W-grafiki p. 1
Oświetlenie i cieniowanie Najnowsza wersja tego dokumentu dostępna jest pod adresemhttp://wmii.uwm.edu.pl/~denisjuk/uwm Modelowanie i wizualizowanie 3W-grafiki p. 2
Opcje os wietlenia i cienia (a) (b) ( ) (d) (e) (f) Figure III.1: Six teapots with various shading and lighting options. (a) Wireframe teapot. (b) Teapot drawn with solid olor, but no lighting or shading. ( ) Teapot with at shading, with only ambient and di use lighting. (d) Teapot drawn with Gouraud interpolation, with only ambient and di use re e tion. (e) Teapot drawn with at shading, with ambient, di use, and spe ular lighting. (f) Teapot with Gouraud shading, with ambient, di use, and spe ular lighting. See olor plate C.4. Modelowanie i wizualizowanie 3W-grafiki p. 3
Oświetlenie Phonga Model odbicia światła Źródło światła punkt Światło ma trzy składowe, RGB Modelowanie i wizualizowanie 3W-grafiki p. 4
ÓÙÐ ÐÒ Ñ Ó ÒÓÑÒ ÐØº Ì ÓØØ ÖÖÓÛ ÒØ ÓÙØÓÒ Ì ÐØº Odbicie rozproszone zabarwia światło na kolor przypisany do obiektu. ÄØ ÓÙÖ ÙÖ ÁÁÁº¾ «Ù ÐÝ Ö Ø ÐØ Ö Ø ÕÙÐÐÝ ÖØÐÝ Ò ÐÐ ÖØÓÒ º Modelowanie i wizualizowanie 3W-grafiki p. 5
Ø ÒÐ Ó ÒÒ ÕÙÐ ØÓ Ø ÒÐ Ó Ö ØÓÒº Ì ÓÙÐ ÐÒ ÛØ Ó ÒÓÑÒ ÐØº Ì ÓØØ ÖÖÓÛ ÒØ ÓÙØÓÒ ÐØ Ø ÐÓÒÖ Ñ Odbicie zwierciadlane Światło nie zmienia swojej barwy. ÄØ ÓÙÖ ÙÖ ÁÁÁº ËÔÙÐÖÐÝ Ö Ø ÐØ Ö Ø ÔÖÑÖÐÝ Ò Ø ÖØÓÒ Ø ÖÖÓÛ Ø ÑÓÖ ÒØÒ Ø Ö ØÓÒ Ò ØØ ÖØÓÒº Modelowanie i wizualizowanie 3W-grafiki p. 6
Światło docierajace do obserwatora Światło odbijane zwierciadlane: I s. Światło rozproszone: I d. Światło otoczenia: I a. Światło emitowane powierzchnia: I e. I = I s +I d +I a +I e Modelowanie i wizualizowanie 3W-grafiki p. 7
Ò Á Ò Ò Á Ö Ø ÒÓÑÒ Ò ÓÙØÓÒ ÐØ ÒØÒ Ø Ò Á Á Światło rozproszone Ò Ú ÙÖ ÁÁÁº Ì ØÙÔ ÓÖ «Ù Ö ØÓÒ Ò Ø ÈÓÒ ÑÓк Ì ÒÐ Ó ÒØ ÖØÓÒ º Ø Model Lamberta: I d = ρ d I In d cosθ ÒÒ º Modelowanie i wizualizowanie 3W-grafiki p. 8
Ò Á ³ ÁÁÁº Ì ØÙÔ ÓÖ ÔÙÐÖ Ö ØÓÒ Ò Ø ÈÓÒ ÑÓк Ì ÒÐ ÙÖ ÒÒ º Ì ÚØÓÖ Ö ÔÓÒØ Ò Ø ÖØÓÒ Ó ÔÖØ ÑÖÖÓÖ¹Ð Ó Á Ò Ò Á Ö Ø ÒÓÑÒ Ò ÓÙØÓÒ ÔÙÐÖ ÐØ ÒØÒ Ø Ö ØÓÒº Á Światło odbijane zwierciadlanie Ò Ö Ú Ò Ø ÒØ ÖØÓÒ º I s = ρ s I In s (cosϕ) f Modelowanie i wizualizowanie 3W-grafiki p. 9
Światła otoczenia i emitowane I a = ρ a I In a I e = Const Modelowanie i wizualizowanie 3W-grafiki p. 10
Obliczanie wektora normalgego trójkat powierzchnia parametryzowana powierzchnia określona równaniem Modelowanie i wizualizowanie 3W-grafiki p. 11
Cieniowanie płaskie (flat) Każdy bok ma swój kolor. Modelowanie i wizualizowanie 3W-grafiki p. 12
Ú ¾ ÁÁº¾ Ì Ò ÐÒ ÒØÖÔÓÐØÓÒ ÑØÓ Ö Ø ÒØÖÔÓÐØ ÐÓÒ Ø ÙÖ Ó Ø ØÖÒÐ ØÒ ÒØÖÔÓÐØ ÐÓÒ Ø ÓÖÞÓÒØÐ ÖÓÛ Ó ÔÜÐ Ò Ø Ó Ø ØÖÒк Ì ÒØÖÔÓÐØÓÒ ÖØÓÒ Ö ÓÛÒ ÛØ ÖÖÓÛ º Á ÒØÖÓÖ ÐÓÓ ÐÓ ÐÝ ÝÓÙ ÛÐÐ ÒÓØ ØØ Ø ÖØÑÓ Ø ÔÜÐ ÓÒ Ø ÓÖÞÓÒØÐ ÝÓÙ ÐÒ ÒÓØ ÜØÐÝ ÓÒ Ø ÐÒ ÑÒØ ÓÖÑÒ Ø ÖØ Ó Ø ØÖÒÐ Ò Ø Ò ÖÝ Ò Ø ÔÓ ØÓÒ ÑÙ Ø ÖÓÙÒ ØÓ Ø ÒÖ Ø ÔÜк Ú ½ Ú Cieniowanie Gourauda Oblicza się oświetlenie w wierzchołkach. Wektor normalny w wierzchołku jest średnia arytmetyczna wektorów normalnych wszystkich ścian, do których ten wierzchołek należy. Interpoluje się na cała powierzchnię wieloboku. Modelowanie i wizualizowanie 3W-grafiki p. 13
ÁÁÁº ÌÛÓ Ù ÛØ µ ÒÓÖÑÐ Ø ÚÖØ ÔÖÔÒÙÐÖ ØÓ ÙÖ µ ÒÓÖÑÐ ÓÙØÛÖ ÖÓÑ Ø ÒØÖ Ó Ø Ùº ÆÓØ ØØ µ ÖÒÖ Ò Cieniowanie Gourauda Można stracić światło odbijane zwierciadlane na dużych wielobokach. (Stosuje się podział na mniejsze wieloboki.) Może w ogóle nie zauważyć światła na szerokiej ścianie. Wynik zależy od orientacji prostopadłych w wierzchołkach, od bliskości światła wierzchołkowi. µ µ ÛØ ÓÙÖÙ Ò ÒÓØ Ø Òº Ë ÓÐÓÖ ÔÐØ ºº Modelowanie i wizualizowanie 3W-grafiki p. 14
Cieniowanie Gourauda Dobrze działa w wielu przypadkach. Łatwo do implementacji zarówno programowej jak i sprzętowej. Jest rozpowszechnione. Modelowanie i wizualizowanie 3W-grafiki p. 15
Ú ¾ ÁÁº¾ Ì Ò ÐÒ ÒØÖÔÓÐØÓÒ ÑØÓ Ö Ø ÒØÖÔÓÐØ ÐÓÒ Ø ÙÖ Ó Ø ØÖÒÐ ØÒ ÒØÖÔÓÐØ ÐÓÒ Ø ÓÖÞÓÒØÐ ÖÓÛ Ó ÔÜÐ Ò Ø Ó Ø ØÖÒк Ì ÒØÖÔÓÐØÓÒ ÖØÓÒ Ö ÓÛÒ ÛØ ÖÖÓÛ º Á ÒØÖÓÖ ÐÓÓ ÐÓ ÐÝ ÝÓÙ ÛÐÐ ÒÓØ ØØ Ø ÖØÑÓ Ø ÔÜÐ ÓÒ Ø ÓÖÞÓÒØÐ ÝÓÙ ÐÒ ÒÓØ ÜØÐÝ ÓÒ Ø ÐÒ ÑÒØ ÓÖÑÒ Ø ÖØ Ó Ø ØÖÒÐ Ò Ø Ò ÖÝ Ò Ø ÔÓ ØÓÒ ÑÙ Ø ÖÓÙÒ ØÓ Ø ÒÖ Ø ÔÜк Ú ½ Ú Cieniowanie Phonga Oblicza się wektor normalny w wierzchołkach. Wektor normalny interpoluje się na cała powierzchnię wieloboku. Na tej podstawie oblicza się kolor w każdym pikselu Modelowanie i wizualizowanie 3W-grafiki p. 16
Cieniowanie Phonga Kosztowne obliczenia: n α = αn 1+(1 α)n 0 αn 1 +(1 α)n 0. Cała informacja o kolorach i kierunkach światła powinna przechowywać się do ostatniej stadji obliczeń. Interpolacja we współrzędnych ekranowych: moga wystapić nieporzadane efekty przy projekcji perspektywicznej. Modelowanie i wizualizowanie 3W-grafiki p. 17
Cieniowanie Phonga Małe odbicia zwierciadlane się nie gubia na dużych wielobokach. Modelowanie i wizualizowanie 3W-grafiki p. 18
Ò Á ³ Á Obserwator lokany i nielokalny Ò Ö Ú ÙÖ ÁÁÁº Ì ØÙÔ ÓÖ ÐÙÐØÒ Ø ÔÙÐÖ Ö ØÓÒ Ù Ò Ø ÐÛÝ h = l+v, l+v ( ) f. I s = ρ s Is in cosψ ÚØÓÖ Ø ÙÒØ ÚØÓÖ ÐÛÝ ØÛÒ Ò Ú º Modelowanie i wizualizowanie 3W-grafiki p. 19
Normalizacja wektorów Domyślnie każdy wektor jednostkowy powinien być normalizowany. Jeżeli macierz przekształcenia zawiera skalowanie, wektory należy normalizować. Modelowanie i wizualizowanie 3W-grafiki p. 20
ÁÁÁº½ Ì ÊÁ ÙÒØÓÒ ÖÐØ Ø ÓÙØÓÒ ÐØ ÒØÒ ØÝ Ò Ø ÙÖ ÐØ ÒØÒ ØÝ ÓÖÒ ØÓ ÊÁ Ú µ Á ÓÙØ Á Ò ÒÓÑÒ BRIDF Á Ò Ò Á ÓÙØ Ú Funkcja rozkładu współczynnika odbicia dwukierunkowego (Bidirectional Reflected Intesity Distridution Function) Modelowanie i wizualizowanie 3W-grafiki p. 21
ÓÛ Ø ÚÖ ÐÚÐ Ó Ø ÙÖ Ò Ø ÑÖÓØ ÓÛ Ø ÐÒ Ô Ó Ø ÙÖº ÓØØ ÐÒ ÓÛ Ø ÖØÓÒ Ó ÐØ ÖÝ º ÑÖÓ ÓÔ ÒÓÑÒ ÐØ Ò ØÖ Ö Ø Ò Ø ÖØÓÒ Ó ÔÖØ ÑÖÖÓÖ¹Ð Ì Á ½ µ ÓÖ Ò ÒØÖ Ø ÙÖ Á ¾ µº ÁÒ Ø ÓÒ Ø ÐØ Ö ØÓÒ Á ½ Á ¾ Powierzchnia mikroluster ÙÖ ÁÁÁº½ ÑÖÓØ ÙÖ ÓÒ Ø Ó ÑÐÐ Ø Ô º Ì ÓÖÞÓÒØÐ ÑÓÐ ÚÒØÙÐÐÝ ÜØÒ Ø ÑØÖÐ «Ù ÐÝ Ö Ø ÐØº Modelowanie i wizualizowanie 3W-grafiki p. 22
Model Cooka-Torrance a (1982) I = I a +I d +I s = ρ a I in a +ρ d I in d (l n)+i s, s stała, I s = (n l) s F G D Iin s (n v) F(l, v, λ) współczynnik Fresnela, G(l,v) współczynnik tłumienia geometrycznego, D(l,v) funkcja rozkładu mikroluster. Modelowanie i wizualizowanie 3W-grafiki p. 23
Ò Á ³ Á Funkcja Rozkładu Mikroluster Ò Ö Ú ÙÖ ÁÁÁº Ì ØÙÔ ÓÖ ÐÙÐØÒ Ø ÔÙÐÖ Ö ØÓÒ Ù Ò Ø ÐÛÝ ÚØÓÖ Ø ÙÒØ ÚØÓÖ ÐÛÝ ØÛÒ Ò Ú º D(ψ) = ce ψ2 /m 2 rozkład Gaussa D(ψ) = 1 πm 2 cos 4 ψ e tan2 ψ/m 2 rozkład Beckmanna m (0, 1) opisuje gładkość (chropowatość powierzchni) Modelowanie i wizualizowanie 3W-grafiki p. 24
ÁÁÁº½ ÓÖ Ø ÖÚØÓÒ Ó Ø ÓÑØÖ ØÖÑ Ø ÑÖÓØ Ö ÙÖ ÝÑÑØÖ Î¹ Ô ÖÓÓÚ ÛØ Ø ØÓÔ Ó Ø ÖÓÓÚ ÐÐ Ø ÑÓÐ ¼ ¼ ÁÁÁº½ ËÓÛÒ Ò Ñ Ò Ò ÒÐ ÖÓÓÚº Ì Î¹ Ô ÙÖ ÖÓÓÚ Ø ÙÒØ ÚØÓÖ ÒÓÖÑÐ ØÓ Ø Ø ÛÖ ÔÙÐÖ ÖÔÖ ÒØ ¼ ¼ Tłumienie Geometryczne Ø Ñ Øº Ì ÓÖÞÓÒØÐ ÐÒ ÓÛ Ø ÓÚÖÐÐ ÔÐÒ Ó Ø ÙÖº Ú Ú µ ÆÓ ÓÛÒ ÓÖ Ñ Òº µ ÇÒÐÝ Ñ Òº Ú Ú µ ÇÒÐÝ ÓÛÒº µ ÓØ ÓÛÒ Ò Ñ Òº ÓÙÖ º ÄØ ÖÓÑ Ø ÖØÓÒ Ó ÔÙÐÖÐÝ Ö Ø Ò ØModelowanie i wizualizowanie 3W-grafiki p. 25 Ö ØÓÒ
Współczynnik Tłumienia Geometrycznego G = 1, v h 0 lub n v n l, 2(n h)(n v), v h < 0 i h l 0, h v (n v) v h < 0,l h < 0 i n v < n l, n l, Modelowanie i wizualizowanie 3W-grafiki p. 26
Współczynnik Fresnela F F 0 +(1 F 0 )(1 cosψ) 5 Tabela 1: Wartości F 0 dla wybranych materiałów R G B Złoto: 0,93 0,88 0,38 Srebro: 0,97 0,97 0,96 Platyna: 0,63 0,62 0,57 Miedź: 0,93 0,80 0,46 Modelowanie i wizualizowanie 3W-grafiki p. 27
ÑÓк Ì ÑØÖÐ Ö ÖÓÑ ØÓÔ ØÓ ÓØØÓÑ ÓÐ ÐÚÖ Ò ÓÓ¹ÌÓÖÖÒ Ì ÖÓÙÒ Ñ ¼ ÓÖ ÐÐ ØÖ ÑØÖÐ º Ì ØÓÖ Ö ÔÐØÒÙѺ Przykład ÙÖ ÁÁÁº¾¼ ÅØÐÐ ØÓÖ ÛØ ÔÙÐÖ ÓÑÔÓÒÒØ ÓÑÔÙØ Ù Ò Ø ÐÐÙÑÒØ Ý Ú ÔÓ ØÓÒÐ ÛØ ÐØ º Ë ÓÐÓÖ ÔÐØ º½º Modelowanie i wizualizowanie 3W-grafiki p. 28
Efekty specjalne. Tłumienie światła Współczynnik tłumienia: gdzie d jest odległościa 1 k c +k l d+k q d 2, Modelowanie i wizualizowanie 3W-grafiki p. 29
Efekty specjalne. Światło spot jak światło punktowe kierunek kat obcinania (cutoff), ψ 0 wskaźnik tłumienia, p I = { I0 (cosψ) p, jeżeliψ < ψ 0 0 Modelowanie i wizualizowanie 3W-grafiki p. 30
Efekty specjalne. Światło kierunkowe (Sun) jak światło punktowe żródło świata umieszczone jest w nieskończoności (x 0 : y 0 : z 0 : 0) brak tłumienia (czemu?) Modelowanie i wizualizowanie 3W-grafiki p. 31