Grafika komputerowa
Teksturowanie (ang. texture mapping)
Rados!aw Mantiuk
Wydzia! Informatyki
Zachodniopomorski Uniwersytet Technologiczny
Grafika komputerowa
Tekstura
Funkcja modyfikuj!ca wygl!d powierzchni. Aproksymacj! tej funkcji mo"e by#
bitmapa.
Pictures courtasy of MIT, Lecture Notes 6.837
Grafika komputerowa
Przyk!ady testur
Grafika komputerowa
Proces teksturowania
1.
Obliczenie wspó$rz%dnych (u,v) tekstury odpowiadaj!cych danemu wierzcho$kowi modelu
(
mapowanie tekstury - ang. texture mapping
).
2.
Normalizacja wspó$rz%dnych (u,v) do przedzia$u <0,1>. Obliczenie wspó$rzednych teksela
tekstury w rastrze (s,t) (
funkcja korespondera
).
3.
Modyfikacja koloru pikseli na etapie rasteryzacji.
Pictures courtasy of MIT, Lecture Notes 6.837
Grafika komputerowa
Mapowanie tekstur
Liniowe
Cylindryczne
Sferyczne
Grafika komputerowa
Filtrowanie tekstur (1)
W idelanym przypadku tekstura powinna mie" dok!adnie cztery razy wi#cej
tekseli
(ang. texels)
ile pikseli zajmuje na ekranie obszar, na który b#dzie mapowana.
Filtrowanie tekstur
ma na celu dostosowanie wielko$ci tekstury do wielko$ci obszaru,
na który tekstura b#dzie mapowana.
Pictures courtasy of MIT, Lecture Notes 6.837
Grafika komputerowa
Filtrowanie tekstur (2)
Funkcje korespondera
- powiekszanie tekstury
do wymaganego rozmiaru poprzez powielanie.
Grafika komputerowa
Filtrowanie tekstur (3)
Powi%kszanie i pomniejszanie tekstur
- np. metoda najbli"szego s!siada.
(u,v)
Przyk!ad pomniejszenia tekstury.
Bilinear filtering
- u$rednianie warto$ci piksela
Grafika komputerowa
Filtrowanie anizotropowe
Je"eli proporcje tekstury nie pasuj! do proporcji obszaru pikseli, na które tekstura
ma zosta# na$o"ona.
(u,v)
Grafika komputerowa
Filtrowanie tekstur - MIP Mapping
MIP Mapping
(multium in pavro - wiele w jednym) - sposób przechowywania i
szybkiego dost%pu do tekstur o ró"nym rozmiarze.
(u,v)
Pictures courtasy of MIT, Lecture Notes 6.837
Grafika komputerowa
Mapowanie $rodowiska
Ang.
Environment Mapping
(EM) - wykorzystanie testury do aproksymacji powierzchni
odbijaj%cych.
Pictures courtasy of MIT, Lecture Notes 6.837
Grafika komputerowa
Mapowanie nierówno$ci (ang. bump mapping)
Bump mapping
- wykorzystanie tekstury do modyfikacji wektora normalnego.
(u,v)
Pictures courtasy of MIT, Lecture Notes 6.837
Grafika komputerowa
Mapowanie przesuni#" (ang. displacement mapping)
Displacement mapping
- tekstura s$u"y do modyfikacji geometrii obiektu.
(u,v)
Pictures courtasy of MIT, Lecture Notes 6.837
Grafika komputerowa
Testury proceduralne
Wykorzystanie funkcji matematycznych do obliczania warto&ci tekseli.
(u,v)
Grafika komputerowa
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.