Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Термины / Bump Mapping (Бамп Маппинг)

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 (Бамп Маппинг)?

22 июля 2005

#bump, #mapping, #текстурирование


Обновление: 15 сентября 2009

2001—2018 © GameDev.ru — Разработка игр