czwartek, 4 października 2012

Rodzaje mapowania tekstur

 Dzisiaj zajmiemy się wymienieniem dokładnych technik mapowania. Zostaną tutaj opisane cztery najważniejsze techniki, a następnie będzie do każdej z nich podany przykład aby można było wizualnie zobaczyć jak na konkretnym obiekcie prezentuje się dana metoda.

MIP Mapping to technika, która głównie zależy od odległości od obserwatora poprzez zmianę rozdzielczości odwzorowywanej tekstury. Polega to na tym, że im bliżej znajduje się obiekt, na
który ma zostać nałożone mapowanie, tym użyta do tego celu zostaje tekstura o większej rozdzielczości. Sytuacja jest odwrotna jeśli obiekt znajduje się dalej od obserwatora, to oznacza że zostaje użyta tekstura i mniejszej rozdzielczości. Technikę tą stosuje się głównie w celu zmniejszenia szumów powstałych w trakcie zastosowania tekstur o dużej rozdzielczości dla małych obiektów. Jednak metoda ta wymaga większego nakładu pamięci, ze względu na to że zostaje przechowywany w bazie tekstur ten sam obraz, tylko o różnych rozmiarach rozdzielczości, co ilustruje rys. 1.


Rodzaje mapowania tekstur


Bump Mapping czyli mapowanie nierówności jest techniką polegającą na wykorzystaniu tekstury do modyfikacji wektora normalnego. Polega to na określeniu co najmniej dwóch tekstur, gdzie
jedna z nich odwzorowana zostaje na obiekcie a druga nie jest bezpośrednio przypisana obiektowi lecz przyczynia się, że na jego powierzchni powstają lokalne zniekształcenia wektora normalnego.
Model oświetlenia w pewien sposób wiąże kąt pomiędzy promieniem światła a wektorem normalnym, w efekcie prowadzi to do zakłócenia wektora normalnego, który sprawia, że na powierzchni modelu otrzymujemy wrażenie nierówności. Skutek ten można rozpoznać poprzez
obserwację brzegu obiektu, które nie są zakłócone. Mapowanie daje znakomite wrażenie nierówności powierzchni, ale nie zmienia w rzeczywistości jej kształtu. Geometria obiektu nie zostaje w jakikolwiek sposób przekształcona, co ilustruje rys. 2.


Rodzaje mapowania tekstur


Displacement Mapping mapowanie przemieszczeń to technika, która powoduje zmianę geometrii obiektu poprzez przemieszczanie wierzchołków na podstawie wprowadzonej mapy przesunięć. Nałożenie mapy na powierzchnie obiektu powoduje przemieszczenie pozycji punktów obiektu najczęściej wzdłuż lokalnych normalnych powierzchni. Funkcja określająca które piksele zostaną przemieszczone zależy od informacji zawartych w nałożonej teksturze. Technika ta daje bardzo
dobre efekty głębi oraz szczegółowości, dodatkowymi zaletami deformacji powierzchni obiektu jest rzucanie cieni własnych przez obiekt oraz wzajemne przesłanianie. Wadą tej techniki natomiast jest
zdecydowane obciążenie komputera. Przykład pokazany jest na rys. 3.



Rodzaje mapowania tekstur



Normal Mapping jest techniką, która polega na tym, że nie modyfikujemy geometrii prezentowanego obiektu, modyfikujemy tylko wektory normalne (czyli wektory prostopadłe do powierzchni). Metoda ta jest podobna do wymienionych wcześniej technik mapowania
nierówności oraz mapowania przemieszczeń, jednakże pozwala osiągnąć zdecydowanie lepsze wyniki przy znacznie mniejszym obciążeniu pamięci. Zamiast interpolować wektory normalne dla każdego piksela (korzystając z wektorów normalnych w wierzchołkach modelu), zostają
one odczytane z dodatkowej tekstury. Każda składowa koloru piksela tekstury (r,g,b) odpowiada współrzędnym wektora normalnego (x,y,z) w renderowanym pikselu. Tak uzyskany wektor normalny jest używany w obliczeniach intensywności światła. Efekt zastosowania widać na rys. 4.


Rodzaje mapowania tekstur



Oczywiście normal mapping daje tylko złudzenie głębi, gdy np. spojrzymy na obiekt pod dużym kątem dostrzeżemy, że mamy do czynienia z czymś kompletnie płaskim. Wrażenie \"chropowatości\" występuje gdy na obiekt patrzymy pod kątem prostym.

Brak komentarzy:

Prześlij komentarz