Learn

What Is a Normal Map?

A tangent-space normal map stores a direction at each texel, encoded as RGB. It changes how a shader responds to light but does not add geometry or alter a silhouette.

Height gradient to RGB normal directionA grayscale height change becomes horizontal and vertical gradients, then a normalized vector encoded into RGB.1 · HEIGHT2 · GRADIENTdx + dy + level Z3 · RGB NORMALnormalize → 0…255

A reliable workflow

How RGB stores a signed direction

Red stores tangent X, green stores tangent Y, and blue stores the outward Z component after signed vectors are remapped into 0–1 color channels.

1

Why tangent space follows the mesh

A tangent-space normal follows the mesh tangent frame, which makes it suitable for deforming or instanced meshes with consistent UVs.

2

What normal mapping cannot change

Normal mapping changes lighting, not geometry: silhouettes, parallax, intersections, and cast shadows remain those of the underlying mesh.

3

How a texel becomes a surface direction

To answer what is a normal map precisely, start with the normal: a unit vector perpendicular to a surface at a particular point. A tangent-space normal map stores a modified direction for each texel. Signed X, Y, and Z components are remapped into red, green, and blue values, so a mostly outward vector appears bluish-purple. Approximate RGB 128, 128, 255 represents no sideways tilt. Values toward red or cyan change tangent X; values toward green or magenta change tangent Y. The shader decodes those channels before it evaluates lighting.

4

Why tangent space is widely used

Another part of what is a normal map is the coordinate system. Tangent space is built from the mesh surface, its normal, and a direction derived from the UV layout. Because the stored vector is relative to that local frame, the texture can follow an animated or instanced mesh. The mesh, baker, and renderer must still agree on tangents, UVs, mirrored islands, and the sign of tangent Y. An object-space normal map instead stores directions in a fixed object frame and often shows a broader range of colors, which makes it less interchangeable between differently oriented meshes.

5

What normal mapping changes—and what it does not

A clear explanation of what is a normal map must include its limit: it changes the direction used for shading, not the actual geometry. Highlights and diffuse light can suggest pores, grooves, screws, or bevels while the silhouette and mesh intersections remain unchanged. A normal map does not create parallax by itself, move vertices, repair a poor UV layout, or cast the same geometric shadow as modeled detail. Use displacement or geometry when outline, depth at intersections, or accurate self-shadowing matters; use normal mapping when efficient surface-lighting detail is the goal.

6

How to inspect a normal map responsibly

Knowing what is a normal map also means knowing how to test one. Read it as non-color vector data, use a lossless source, and move a directional light over a recognizable asymmetric feature. Check a plane for seams, a sphere for smooth response, and the production mesh for tangent agreement. A purple thumbnail cannot reveal whether green represents Y+ or Y−, whether gamma was applied, or whether compression damaged unit vectors. Keep the convention, UV set, and source method with the asset so its shading can be reproduced rather than guessed.