Co to jest mapowanie reliefu?

W grafice komputerowej, zwłaszcza trójwymiarowej (3D) grafice komputerowej, mapowanie reliefowe jest sposobem nałożenia dwuwymiarowego (2D) obrazu na powierzchnię obiektu w celu modyfikacji wyglądu jego geometrii. Mapa reliefowa to obraz 2D, w którym każdy obraz określa wysokość odpowiedniej lokalizacji na modelu 3D lub, alternatywnie, jest przezroczysty, aby wskazać, że w danym punkcie modelu nie ma geometrii. Gdy obraz 2D jest mapowany teksturą na powierzchnię obiektu 3D, silnik renderujący zmodyfikuje geometrię obiektu i przesunie każdy punkt skojarzony z pikselem na obrazie 2D o pewną odległość od jego pierwotnej współrzędnej o wartość, która odpowiada do jego piksela tekstury. Pozwala to na uzyskanie bardzo subtelnych ilości szczegółów, które mogą reagować na światło, rzucać dokładne cienie, a nawet pokrywać obiekty w tle, bez potrzeby tworzenia drobnych, intensywnie wykorzystujących pamięć siatek w celu skonstruowania geometrii. Jednym z przykładów tego typu mapowania może być nałożenie zdjęcia satelitarnego Ziemi na sferę, przy czym mapowanie reliefowe powoduje, że punkty na powierzchni kuli są wyższe tam, gdzie są góry i pozostają płaskie tam, gdzie są oceany.

Mapowanie reliefu opiera się na obrazie tekstury 2D dla danych niezbędnych do renderowania obiektu. Obraz 2D składa się z pikseli o różnych kolorach, a każdy kolor jest tłumaczony na określoną wysokość. Większość z tych obrazów jest w skali szarości, ponieważ łatwo jest określić wysokość obszaru, gdy czerń oznacza brak wysokości, czysta biel będzie maksymalną wysokością, a szarości będą stanowić wartości pośrednie.

Gdy do obiektu zastosowano teksturę 2D do mapowania reliefu, położenie każdego piksela jest dopasowywane do punktu w geometrii obiektu. Jeśli piksel tekstury na obrazie, zwany tekselem, ma wartość inną niż zero, współrzędna 3D powierzchni modelu jest dostosowywana o wartość piksela oddalonego od środka obiektu w kierunku powierzchni normalna. Ilość ruchu, który reprezentuje każda jednostka texel, może być ustawiona bardzo nisko, aby mapowanie reliefu mogło być używane do tworzenia tylko subtelnych deformacji na powierzchni, lub może być ustawione wysoko, aby mapa tekstury reliefu przełożyła się na dziko poszarpany teren.

Istnieje wiele zastosowań mapowania reliefowego w grafice komputerowej, od wyświetlania map kartograficznych 2D w 3D po geometryczną symulację bardzo szczegółowych tekstur, takich jak tkana powierzchnia swetra. Należy zauważyć, że mapowanie wypukłości jest bardzo podobne do mapowania wypukłości, a niektóre programy faktycznie optymalizują mapowanie na odległość w obrębie sceny, powracając do mapowania wypukłości. Główna różnica polega na tym, że chociaż można osiągnąć podobne efekty powierzchni, mapowanie wypukłości nigdy nie powoduje, że geometria obiektu wystaje poza jego podstawowy kształt geometryczny. Oznacza to, że jeśli kula jest mapowana wypukłości z obrazem gór, widoczna powierzchnia będzie dokładnie renderować góry, ale krawędzie kuli i cień kuli pozostaną idealnie okrągłe. Technika mapowania reliefu faktycznie zmodyfikowałaby sferę, tak aby jej geometria dokładnie odzwierciedlała wysokość tekstury.