Modeling

Displacement Map

A displacement map is a texture that physically moves a model's geometry in or out at render time, creating true 3D surface detail that normal and bump maps only fake.

What is a Displacement Map?

A displacement map is a grayscale (or vector) texture that actually moves the vertices of a mesh along their normals to create real geometric detail. Bright values push the surface out and dark values pull it in, so the silhouette and shadows genuinely change.

How it works

Because displacement alters real geometry, it needs enough underlying polygons, or on-the-fly tessellation, to resolve the detail. That makes it heavier than a normal map. It shines for terrain, deep grooves, and any surface where the silhouette must be correct. A common workflow combines a displacement map for large forms with a normal map for fine detail.

Displacement map vs normal map

Cook's Shade Trees, 1984

Technique introduced

16 or 32-bit, avoids stepping

Preferred bit depth

Mid gray 0.5 in most tools

Neutral height value

Displacement map vs normal map
Displacement map
Normal map
What actually changes
Vertex positions, real geometry
Shading only, mesh stays flat
Silhouette and shadows
Correct edges, true self-shadowing
Reads flat at silhouettes and edges
Data stored
Grayscale height, or vector XYZ
Surface direction in RGB
Polygon cost
Dense mesh or tessellation required
Zero added geometry
Renderer support
Offline renderers, tessellating engines
Standard slot in every engine
Best for
Terrain, deep grooves, hero close-ups
Fine detail on real-time assets

Split the work: displacement carries the large forms that shape the silhouette, and a normal map carries the fine detail on top. Stay on normal maps for real-time assets unless the outline visibly gives the flatness away.

In Meshy Meshy exports ship with a baked normal map rather than a native displacement map, so export FBX or OBJ and author height detail in Blender or ZBrush when the silhouette must be exact.

Use cases

  • Generating realistic terrain from a heightmap

  • Adding true depth to surfaces where silhouette matters

  • Pairing coarse displacement with fine normal-map detail

Last updated September 14, 2026

Related Tools

Online 3D Viewer

View and inspect any 3D file right in your browser.

3D File Converter

Convert between FBX, OBJ, GLB, STL and more.

3D File Compressor

Shrink 3D file size without losing visible quality.

3D Text Generator

Turn text descriptions into 3D text and shapes.

Frequently Asked Questions

A displacement map is a grayscale or vector texture that physically moves the vertices of a mesh along their normals to create real geometric detail. Bright values push the surface outward and dark values pull it inward, so the silhouette and shadows genuinely change. Unlike normal or bump maps, it alters actual geometry.

The renderer reads the height value at each point and offsets the corresponding geometry along its surface normal. Because it moves real vertices, the mesh needs enough polygons, or on-the-fly tessellation, to resolve the fine detail the map describes.

A displacement map moves real geometry, so it changes the model's silhouette and casts correct self-shadows. A normal map only alters how light reacts to a flat surface, leaving the silhouette unchanged. Displacement is heavier but more physically accurate.

Both use grayscale height data, but a bump map only fakes relief by perturbing shading, while a displacement map physically moves geometry. A bump map is cheap and leaves the outline flat; displacement is costlier and produces true depth.

Use displacement when the silhouette and self-shadowing must be physically correct, such as terrain, deep grooves, or close-up hero surfaces. Use normal maps for fine detail where performance matters and the outline can stay flat. A common workflow pairs coarse displacement with a fine normal map.

Displacement moves existing vertices, so there must be enough of them to represent the detail in the map. If the mesh is too low-resolution the detail is lost, which is why engines tessellate the surface at render time or artists subdivide the geometry first.

In Blender you connect a height texture to a Displacement node in the material and enable the Displacement setting, or add a Displace modifier for mesh-level control. Cycles supports true render-time displacement with adaptive subdivision for high detail.

Tessellation is the process of subdividing geometry into more polygons, while displacement is what moves those new vertices to form detail. They work together: tessellation supplies the density and the displacement map supplies the shape.

Yes. Meshy's PBR output pairs cleanly with displacement workflows, so you can layer height detail on top of AI-generated models for renders where the silhouette must be exact. This suits terrain, close-ups, and film-quality shots.