Bump Map
A grayscale texture technique that perturbs surface normals based on height differences between adjacent pixels, creating the illusion of surface detail through shading without modifying actual geometry.
Bump mapping, introduced by James Blinn in 1978, perturbs surface normals using a grayscale height map during lighting calculations, creating the appearance of surface detail without modifying geometry. Silhouettes remain smooth, but the technique is computationally cheap.
- Height map approach: White represents elevated areas, black represents depressions. Gradients between adjacent pixels determine slope, converted to normal perturbations. 8-bit grayscale (256 levels) typically suffices
- Normal calculation: Partial derivatives in U and V directions are computed and added to the surface normal:
N' = N + dU x T + dV x B(T = tangent, B = bitangent) - Comparison with normal maps: Bump maps use one channel to indirectly represent perturbations; normal maps store directions directly in three RGB channels with higher precision. Normal maps are the modern standard
- Applications: Brick mortar, wood grain, fabric weave, metal scratches - fine textures that don't affect silhouettes
While normal maps have superseded bump maps in game engines, the concept remains foundational. Blender and Maya accept height map inputs with automatic conversion. Substance Designer's height-to-normal nodes are used extensively in material authoring.