1 Teksturowanie oraz algorytmy cieniowaniaKonstanty Kalicki
2 Teksturowanie Polega na mapowaniu płaskich (i nie tylko) obrazów na trójwymiarowe bryły Jest prostym sposobem na zwiększenie wizualnej złożoności sceny o stosunkowo niewielkiej liczbie trójkątów
3 Tekstury są opisane w układzie współrzędnych UVPiksel tekstury (pojedyncza komórka) to teksel
4 Barwa ta służy do modyfikacji barwy wynikowej piksela obrazu końcowegoW wierzchołkach przechowywane są dodatkowe informacje – współrzędne tekstury u oraz v W trakcie rasteryzacji spod tych wspołrzędnych pobierana jest barwa teksela Barwa ta służy do modyfikacji barwy wynikowej piksela obrazu końcowego Źródło: MIT, Lecture Notes 6.837
5 Interpolowanie współrzędnych UVŹródło: MIT, Lecture Notes 6.837 Źródło: Wiki Interpolowanie liniowe współrzędnych UV na płaszczyznach nie równoległych do płaszczyzny produkuje zniekształcony obraz Konieczne jest wzięcie pod uwagę informacji o głębi
6 Źródło: Rosalee Wolfe, „Teaching Texture Mapping Visually”Mapowanie tekstur Źródło: Rosalee Wolfe, „Teaching Texture Mapping Visually” Wykorzystywane są zarówno tekstury 2D jak i 3D Istnieją sposoby na „automatyczne” zmapowanie tekstury 2D na obiekt trójwymiarowy Na ilustracji tekstura została zmapowana na czajnik metodą planarną, poprzez rzutowanie obrazu na płaszczyznę XY
7 Źródło: Rosalee Wolfe, „Teaching Texture Mapping Visually”Mapowanie tekstur cd Źródło: Rosalee Wolfe, „Teaching Texture Mapping Visually” Jak widać przy mapowaniu planarnym powstają błędy
8 Źródło: Rosalee Wolfe, „Teaching Texture Mapping Visually”Mapowanie tekstur Źródło: Rosalee Wolfe, „Teaching Texture Mapping Visually” Inne przykłady rzutowania tekstur
9 Mapowanie tekstur Źródło: Johan Steen Blog Ręczne rozkładanie mapy UV
10 Źródło: Rosalee Wolfe, „Teaching Texture Mapping Visually”Mapowanie tekstur Cylindryczne Źródło: Rosalee Wolfe, „Teaching Texture Mapping Visually”
11 Źródło: Rosalee Wolfe, „Teaching Texture Mapping Visually”Mapowanie tekstur Sferyczne Źródło: Rosalee Wolfe, „Teaching Texture Mapping Visually”
12 Mapowanie tekstur Sześcienne
13 Mapowanie środowiskoweŹródło: Rosalee Wolfe, „Teaching Texture Mapping Visually”
14 Źródło: Rosalee Wolfe, „Teaching Texture Mapping Visually”Sposoby określania pozycji wykorzystywanej do mapowania
15 Filtrowanie tekstur Filtrowanie punktowe
16 Filtrowanie Bilinear W tym rodzaju filtrowania teksele są definiowane jako środki komórek Wynikowa barwa jest efektem ważonego mieszania barw czterech najbliższych tekseli UV: (0.5, 0.5) Punkt znajdujący się dokładnie na styku czterech tekseli: 0.25 * (255, 0, 0) 0.25 * (0, 255, 0) 0.25 * (0, 0, 255) * (255, 255, 255) = (128, 128, 128) Źródło: DirectX SDK
17 Bilinear UV: (0.375, 0.375) Dokładny adres czerwonego teksela – wszytkie sąsiednie teksele mają wagi 0 1.0 * (255, 0, 0) 0.0 * (0, 255, 0) 0.0 * (0, 0, 255) * (255, 255, 255) = (255, 0, 0) Źródło: DirectX SDK
18 Filtry anizotropowe i GaussaFiltrowanie anizotropowe zapobiega powstawianiu artefaktów przy renderowaniu teksturowanych powierzchni nie równoległych do płaszczyzny ekranu Filtrowanie Gaussa polega na mieszaniu barw pewnej ilości sąsiednich tekseli przy wykorzystaniu wag opierających się na rozkładzie Gaussa
19 Oświetlenie
20 Cieniowanie wierzchołkówObserwując nawet bardzo złożoną geometrię bez należytego oświetlenia użytkownik nie jest w stanie prawidłowo określić kształtów obiektów Można w uproszczeniu powiedzieć, że mózg człowieka interpretując obraz odszukuje na nim obszary jaśniejsze i ciemniejsze, a następnie na podstawie ich ułożenia oraz zakładając, że obserwowany obiekt ma w miarę jednolitą barwę, wyrabia sobie pojęcie na temat kształtu obserwowanej bryły i głębi sceny
21 Typy źródeł światła Rozproszone Kierunkowe Punktowe Reflektor
22 Kierunkowe Źródło światła bardzo oddalone od oświetlanego obiektuMożna założyć że promienie biegną równolegle do siebie Na przykład światło słoneczne lub światło innej odległej gwiazdy
23 Punktowe Promienie rozchodzą się we wszytkich kierunkachPodkreśla nierówności oświetlanych obiektów Na przykład nieosłonięta żarówka
24 Reflektor Światło skierowane o kształcie stożkaZazwyczaj wyróżnia się stożek wewnętrzny w którym natężenie światła jest stałe oraz stożek zewnętrzny w którym natężenie maleje ku zewnętrznej granicy Przykładem może być reflektor samochodowy
25 Światło rozproszone Światło padające ze wszystkich kierunków z równomiernym natężeniem Nie generuje cieni
26 Flat Założenie: stopień w jakim jest oświetlona powierzchnia zależy od ilości odbitego światła, a ta zależy od kąta padania promieni Iloczyn skalarny Jasność: dot(N, L) Wynik stosowany jest do całego trójkąta Źródło:
27 Pasma macha Fizjologiczny mechanizm podnoszenia kontrastu
28 Gouraud Wektory normalne przechowywane są w każdym wierzchołkuObliczona jasność jest interpolowana liniowo na powierzchni trójkąta Źródło:
29 Phong Wartość wektora normalnego jest interpolowana liniowo i na jej podstawie wyliczany jest stopień oświetlenia dla każdego piksela bryły Metoda nie ma podstaw fizycznych ale daje dobre efekty Phong Bui-Tuong opracował ją w roku 1975 Pozwala wyliczyć także tzw. odbicie zwierciadlane (specular) Źródło:
30 Phong Wartość natężenia światła obliczana jest jako dot(N, L)Dodatkowo uwzględniane jest położenie obserwatora Obliczany jest wektor R – odbicie wektora L względem wektora N Jeśli kąt pomiędzy wektorem R i V jest wystarczająco mały występuje zjawisko odbicia zwierciadlanego
31 Phong Przykład sceny gdzie światło rozproszone jest niebieskie, światło kierunkowe jest białe a powierzchnia gładka i lśniąca
32 Dziękuję