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 triangle on the face of the sphere will have a specific light value, and this light value will be uniform across that entire triangle - giving the sphere a rather jagged look. With normal mapping, instead of just one normal vector for each triangle, there's a multitude of them, and thus the shading on the sphere looks much more realistic - from a a distance, it doesn't seem to be made up of individual triangles.
See also: bump mapping
This article is a stub. You can help Wikipedia by fixing it.