next up previous
Next: Self Shadowing Up: Implementation Previous: Tangent Space

Bump Mapping

Until now we have almost exclusively treated Phong shading. An additional way to add more realism to a rendered scene is to use bump mapping. It allows to increase the visual detail of a scene without requiring excessive amounts of geometric detail. It is a technique that was invented by Blinn [3] to add roughness or wrinkles to a smooth surface. It does not change the underlying geometry of the model, but fools the shading to produce an interesting surface by using a perturbed surface normal $ \vec{N}^{\prime}$ read from a normal map (Figure 7(a)). Bump mapping is a very efficient approach because it decouples the texture-based description of small-scale surface irregularities used for per-pixel lighting computations from the vertex-based description of large-scale object shape required for efficient transformation, rasterization and hidden surface removal [10].

Figure 7: Bump Mapping
\includegraphics[height=4cm]{D:/Studium/Per-Pixel-Lighting/text_cescg/image/bump-map-normal.eps}
[Perturbed Normals from the Normal Map]
  \includegraphics[height=4cm]{D:/Studium/Per-Pixel-Lighting/text_cescg/image/bump-map-wall.eps}

 [Color Coded Normal Map]

Since lighting is already done in tangent space - where the large-scale normal $ \vec{N}$ is always $ (0,0,1)$ - the perturbed small-scale surface normal $ \vec{N}^{\prime}$ can be read directly from a texture map. This so-called normal map can be constructed from a height map by using finite differences to get the local tangent plane and the corresponding surface normal (Figure 7(b)).


next up previous
Next: Self Shadowing Up: Implementation Previous: Tangent Space
Gerald Schröcker 2002-03-21