Бамп мапинг (bump mapping) - наложение рельефа.

Данная технология служит повышению реализма модели путем использования помимо самой текстуры дополнительной карты высот, или карты рельефа. Полигоны, обрабатываемые данной технологией, сами по себе остаются плоскими, как и были. Карта рельефа - это всего лишь массив данных, где максимальное число массива - наибольшая относительная высота. Карта рельефа может содержать только положительные числа, а количество градаций высот зависит лишь от разаработчика.

Самым широко используемым метод наложения карты высот является диффузно смешение (emboss - тиснение). Работает он следующим образом. Берется определенная карта высот, и согласно ей строится инвертированная копия. Далее карте задаются координаты вершин полигона, на который нужно текстуру наложить. Из вершины полигона на его плоскость строится вектор, который направлен на источник света. Он перемножается с некоторым числом, а полученный вектор используется для смещения относительно рельефной карты инвертированной копии. После этого обе карты суммируются. В этом методе особенно важным является подбор числа, на которое следует умножать вектор света, потому что величина смещения для инвертированной карты ни в коем случае не должна привести к непредсказуемым результатам. Потому что при слабом смещении эффект не будет заметен, а при сильном - изображение раздваивается и размывается.

Чтобы реализовать технологию наложения рельефа необходимо обработать сразу три карты текстур: базовую, рельефную и инвертированную. Обработка последней на самом деле является довольно трудоемкой вычислительной задачей, потому как нужно вычислить не только вектор освещения, но и нормализовать его с поверхностью полигона.

Недостатком Bump mapping считается не очень качественная итоговая картинка. Тогда стали придумывать более совершенные методы, такие как наложение рельефной карты методом скалярного произведения. Этот метод основан на математической модели света, которая существенно отличается от физической. В физической модели, которая знакома каждому с детства, интенсивность света уменьшается с расстоянием. В математической же можели интенсивность света всегда остается неизменной. Свет в ней рассматривается как единичный вектор, или направленный источник. Второй вектор здесь - это вектор камеры. Третьим вектором служит вектор нормали, то есть сумма векторов света и камеры, приведенная к единице. С помощью этих векторов просчитываются значения для рассеянного и бликового света, а цвет модели просчитывается как сумма цветов рассеянного и бликового цвета.