Mapowanie wypukłości

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Mapowanie wypukłości (ang. bump mapping) – w grafice 3D technika teksturowania, która symuluje niewielkie wypukłości powierzchni, bez ingerencji w geometrię obiektu trójwymiarowego.

Technika polega na użyciu tekstury, która nie jest jednak bezpośrednio wyświetlana, ale powoduje lokalne zakłócenia (obrót) wektora normalnego. Ponieważ każdy model oświetlenia (np. oświetlenie Phonga) w jakiś sposób wiąże kąt pomiędzy promieniem światła a wektorem normalnym, to rezultatem zakłóceń jest pojawienie się na obrazie złudzenia nierówności powierzchni. Efekt jest bardzo przekonujący, większość ludzi nie zwraca uwagi na fakt, że brzegi obiektu pozostały "niezakłócone".

Kula: po lewej – bez mapowania wypukłości, po prawej – z mapowaniem wypukłości. Warto zwrócić uwagę, że brzegi rysunku kuli nie zostały zniekształcone.

Mapowanie wypukłości zostało zaproponowane w 1978 roku przez Jamesa Blinna i jest stosowane głównie w metodzie śledzenia promieni. Współczesne karty graficzne realizują mapowanie wypukłości sprzętowo.

Rozwinięciem techniki mapowania wypukłości jest technika mapowania normalnych. Główna różnica pomiędzy tymi technikami, polega na wykorzystaniu mapy RGB, zamiast odcieni szarości. Każda składowa koloru mapy RGB, odpowiada współrzędnym składowej normalnej danego piksela.

2D bump mapping (także fake bump mapping) - uproszczona technika mapowania wypukłości, cechą charakterystyczną jest względnie małe obciążenie procesora i możliwość generowania efektu w czasie rzeczywistym nawet na słabszych maszynach. Wyznaczenie piksela w obrazku wynikowym polega na przepisaniu piksela z bitmapy źródła światła (najczęściej jakiś rodzaj flary, ciekawe wizualnie efekty daje także zastosowanie tekstury) spod współrzędnych wyznaczonych na podstawie różnicy wartości pikseli sąsiadujących z obliczanym i przesunięcia środka źródła światła względem bitmapy wejściowej. Modyfikacja tej techniki znalazła także zastosowanie w akceleratorach graficznych GeForce 2.

Oryginalna bitmapa, bitmapa źródła światła, efekt końcowy

Zobacz też[edytuj | edytuj kod]