Normal Map
Per-pixel surface detail
Definition
A normal map is a texture that stores per-pixel surface direction (the normal vector) of a high-resolution mesh, baked onto a low-resolution mesh. Each pixel encodes an XYZ direction in RGB channels, letting the shader light a flat polygon as if it had millions of bumps and grooves. Normal maps are the single most common technique for adding detail without polygons, used universally in real-time game art since the mid-2000s.
In production
In a typical workflow you sculpt detail in ZBrush, bake the high-poly's surface direction onto the game-ready low-poly in Marmoset Toolbag or Substance Painter, and the low-poly model carries the visual complexity of millions of polygons at a fraction of the cost. Tangent-space normal maps are the most common variant; object-space normals appear in stylized or rigid-mesh pipelines.
Learn Normal Map in
Tools that use Normal Map
See also
Baking
High-poly detail → low-poly texture
Tangent Space
Local coordinate system for normal maps
PBR
Physically Based Rendering
High-Poly Model
The detail source for baking
Low-Poly Model
Game-ready mesh
DirectX vs OpenGL Normal Map
Which way the green channel points
Normal Map Compression Settings in Unreal
Why Unreal textures look blocky or wrong
Normal Map Looks Wrong in Unity
Flat, noisy or inverted bumps in Unity
ZBrush Normal Map Looks Wrong
Inverted or odd shading on a ZBrush normal map
Distortion Effects
Bending the image behind a surface
Flow Map
Texture that tells a surface which way to flow