Realistic, Hardware-accelerated Shading and Lighting

Wolfgang Heidrich, Hans-Peter Seidel

Max-Planck-Institute for Computer Science

Saarbrücken, Germany

Normal Mapping

Bump maps are becoming popular for hardware-accelerated rendering, because they allow us to increase the visual complexity of a scene without requiring excessive amounts of geometric detail.

Normal maps can be used for achieving the same goal, and have the advantage that the expensive operations (computing the local surface normal by transforming the bump into the local coordinate frame) have already been performed in a preprocessing stage. All that remains to be done is to use the precomputed normals for shading each pixel. Another advantage of normal maps is that recently methods have shown up for measuring them directly, or for generating them as a by-product of mesh simplification.

In the paper, we show how normal maps can be lit using graphics hardware according to the Blinn-Phong illumination model using a set of so-called imaging operations. These have been formally defined in OpenGL version 1.2, and it can therefore be expected that they will be available on a wide variety of future graphics hardware.

It is also possible to apply the techniques for other local illumination models, as well as the environment mapping techniques that we describe in other locations of the paper to with normal maps. This part relies on the pixel texture extension that is currently only available from SGI on Octane graphics.

The figures below demonstrate these methods. Left column: Normal maps with local Phong illumination. The normal map in the bottom image has been measured from a wall paper. Center and right rows: combination of normal maps and environment mapping using pixel textures.