Normal mapping

This is an old revision of this page, as edited by 62.79.0.1 (talk) at 16:48, 18 January 2004. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In 3D computer graphics, normal mapping is an application of the technique know as bump mapping. While bump mapping perturbs the existing normal (the way the surface is facing) of a model, normal mapping replaces the normal entirely. Like bump mapping, it is used to add details to shading without using more polygons. But where a bump-map is usually calculated based on a grayscale image, the source for the normals in normalmapping is usually a more detailed version of the objects.

Normalmapping is usually found in two varieties: Object-space and tangent-space normalmapping. The difference is which coordinates the normal of the model is given in.

The idea of storing the exact normal, instead of a gray-scale image as in bump-mapping, was first presented in "Appearance Preserving Simplification", by Cohen et al.


How it Works: To calculate the light on a surface, the vector for an incoming light source is dotted with the vector normal to that surface, and the result is the intensity of the light on that surface. Imagine a polygonal model of a sphere - you can only approximate the shape of the sphere, and how good your approxmation looks depends upon the number of polygons you use. Each point in the sphere will have a specific light value. To get smooth-looking geometry, this light-value is usually interpolated across the sphere linearly. The result is an almost perfectly smooth sphere.

If we on the other hand, want a bumpy sphere, i.e. a sphere with small variations in the surface, we might construct such a sphere geometrically - e.g. model it by hand, or scan a bumpy sphere from a real-world object. A bumpy sphere contructed using geometry alone, needs a lot of triangles to approximate the bumps. Since the lighting of the surfaces is calculated based on the normal, a great deal of the appearance can be controlled using the normal. Hence we might apply the normals from the very detailed object, to an object with less detail. This gives the impression, that the low-detail object has details.


See also: bump mapping


This article is a stub. You can help Wikipedia by fixing it.