# Bump Mapping

(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Bump Mapping
Field: Algebra
Image Created By: [[Author:| ]]

Bump Mapping

Bump mapping is the process of applying a height map to a lit polygon to give a polygon the perception of depth.

# Basic Description

When a polygon is rendered using bump mapping, the polygon's surface normals are perturbed based on a height map or a normal map. When the polygon is lit, the perturbed surface normals cause variations in the lighting across the surface which appear as 'bumps'.

# A More Mathematical Explanation

The algorithm is a simple extension of basic shading models. In a flat shading model [...]

The algorithm is a simple extension of basic shading models. In a flat shading model, the normal of a polygon is constant across the entire surface. In a Phong shading model, normals are interpolated across the surface. With bump mapping, normals vary across the surface due to a height map or a normal map. Note that bump mapping is not it's own shading model, and can be used in conjunction with many shading models. As seen from the following illustration, bump mapping does nothing to simulate the distorted geometry of the height maps; it only changes surface normals. Because of this, bump mapping is not capable of simulating self-shadowing.

## Demonstration

Instructions: The panel on the left side of the applet represents the height map of the bump map. You can edit this by clicking and dragging. Left clicking will draw a lighten a circle on the height map and right clicking will darken a circle on the height map. You can change how much lightening or darkening is done by using the "Brush Opacity" slider. You can also change the size of the circle with the "Brush Width" slider. On the right side of the applet is the resulting bump mapped quad. You can click and drag this panel to move the light around to see the effect of the bumps from different angles.

If you can see this message, you do not have the Java software required to view the applet.

[[Category:]]