Bump Mapping (Бамп Маппинг)
Bump Mapping (произносится как бамп маппинг) — метод достижения видимости рельефа на поверхности при помощи текстурирования. Bump — рельеф, Mapping — наложение текстуры на поверхность.
Bump — это рельеф на поверхности, это неровности, шероховатости, выпуклые детали и вмятины.
Bump mapping — это метод, при помощи которого можно достичь видимость bump-а на поверхности при помощи задания очертаний Bump-а в текстуре или текстурах. Существует несколько видов Bump mapping-а:
- EMBM (Environment map bump mapping). Рельефность, имитируемая искажением отражения или преломления. Этим способом достигается имитация волн на водной поверхности, видимость рельефа на стеклянной и отражающей поверхности.
- Diffuse bump mapping. Рельефность, имитируемая освещением. Детали на поверхности показываются освещением, затенением в местах неровностей. Это достигается диффузным bump mapping-ом, например, имитация волновой поверхности на песке, и отражённым источником света (спекулярным bump mapping-ом), например, на железных блестящих предметах.
- Displacement bump mapping. Рельефность, созданная дополнительно генерируемой геометрией.
- Parallax Mapping. Рельефность, имитируемая параллаксом, то есть смещением разно удалённых частей поверхности при движении наблюдателя. Достигается смещением текстурных координат для каждого пикселя, при отрисовке поверхности.
Эти методы могут совмещаться и переплетаться с другими методами наложения текстур.
Для реализации bump mapping-а используются разные типы текстур:
Карты высот, где тексели задают высоту в соответствующем месте на карте. Такие текстуры выглядят, как чёрно-белые. Чем светлее тексель, тем выше расположена соответствующая часть поверхности.
Карты нормалей, в которых хранятся нормали для соответствующих частей поверхности. Отсюда normal mapping, который является методом достижения bump mapping-а. Нормали линейным преобразованием сопоставляются с цветами. Каждая координата (x, y, z) — для соответствующего цвета (r, g, b). Относительно ровная поверхность, означает, что x и y близки к нулю, а z — к единице, поэтому в таких текстурах преобладает синий цвет с проявлением сиреневых и зелёных оттенков. Карты нормалей можно генерировать из карт высот или из сопоставления сложной геометрии с низкополигональной (polybump).
Карты смещений. Карты, задающие смещение текстурных координат для накладываемой диффузной текстуры. Поскольку текстурные координаты двумерные, то здесь каждый элемент содержит не три компоненты, а две. К тому же, может занимать под каждую компоненту до 16-ти бит. Поэтому визуально не всегда можно посмотреть на такую текстуру.
Что такое Bump Mapping (Бамп Маппинг)?
#bump, #mapping, #текстурирование
22 июля 2005 (Обновление: 15 сен 2009)