Graphics › Space
Tangent space and normal maps
Know first: Normals and light, UV: how a picture gets onto a model, Spaces: where a point is
A normal map does not store its arrows in world coordinates. It stores them relative to the surface itself, in tangent space. This lesson shows how that space is built at each point, and where the tangents at the vertices come from. Baking programs and engines must compute those tangents in exactly the same way, and the lesson explains why. It then covers mirrored UVs, how the map is stored, and how to blend two normal maps correctly.
Why this matters
The lesson “Normals and light” mentioned tangent space in a collapsed block: the arrows in a normal map are recorded relative to the surface, so the map works on any model. The lesson “Spaces: where a point is” introduced matrices and the steps between coordinate systems. Now the two ideas can be put together.
Normal maps are the most common source of strange artifacts in game graphics. A seam after baking, bumps that look pressed in on half of a model, waves of light across a smooth surface, fine detail that disappears after blending: all of these have one cause. An arrow from the map was converted to world space with the wrong axes. Once you know where those axes come from, you can fix such breakage in minutes instead of an evening.