Texturing

Parallax Occlusion Mapping

Fake-depth via per-pixel ray march

Also known as: POM · Parallax mapping

Definition

Parallax occlusion mapping is a shader technique that simulates surface depth on flat polygons by per-pixel ray-marching through a height map. It creates the illusion of real displacement (bricks pop out, cobblestones cast self-shadows) at a fraction of the cost of true displacement — but only works convincingly within a limited viewing angle range and breaks at the silhouette where there's no real geometry to offset.

In production

Common for ground/wall textures in walkable environments where the viewer rarely sees the silhouette edge — cobblestone streets, brick facades viewed head-on, tiled floors. UE5 ships a Parallax Occlusion Mapping node in its material editor; the height-map input must be 16-bit for smooth results, since 8-bit height data produces visible stepping artifacts as the ray-march samples discrete texel steps. The technique breaks down at grazing angles and along mesh edges, where the flat polygon's true silhouette shows through and reveals there's no actual geometry — a giveaway on doorframes or where a POM wall meets a non-POM floor. Compared to true tessellated displacement, POM is essentially free at runtime but caps out around 8-32 ray-march steps before the cost outweighs just using real geometry. A frequent mistake is applying POM to a curved or low-poly-dense surface, where the flat-surface assumption behind the ray-marching math falls apart and produces obvious swimming as the camera moves.

Learn Parallax Occlusion Mapping in

Tools that use Parallax Occlusion Mapping

See also