Skip to content
DepthCarve

3D and VFX

Depth map vs displacement map: the difference that changes the export

A depth map records distance from a viewpoint. A displacement map records how far to move a surface along its normal. They can look similar and still fail in completely different ways.

DepthCarve engineering5 minute read
depth map vs displacement map illustrated with smooth grayscale distance layers
A smooth thumbnail can still hide reversed direction, clipped range, or an incorrect object boundary. Inspect the field against its source.

Depth is a scene measurement

A depth map stores one distance value per pixel from the camera or a reference plane. Near and far are defined relative to the view. It is useful for compositing, parallax, atmosphere, masks, fog, and depth of field. It is not automatically a displacement map, because displacement depends on the surface normal and the mesh topology.

A depth map can be remapped into a displacement-like field for a relief, but the interpretation changes. If the renderer expects displacement along a normal and receives a camera-distance field, the result can stretch on curved surfaces or move in the wrong direction. Record the reference plane as well; a depth map without it is only relative.

Try the workflow

Put this guide against your own image

The tool below is the same workbench described in this article. Generate a free preview, inspect the source checks, and decide whether the image is worth a production file.

Live manufacturing workbench

Upload a photo. Preview the depth. Download your file.

Three free AI previews per day. Source checks, editing, 3D preview, and compatibility exports are free.

Sample relief depth preview

Choose a source image to begin.

Displacement is a surface instruction

A displacement map tells a renderer how far to move each shading point along the surface normal. The values are usually relative to the mesh and the displacement scale. A flat plane and a sphere can use the same texture and produce different geometry because their normals differ.

This is why a displacement map needs a sufficiently dense mesh or a tessellation step. A low-poly surface cannot express fine displacement no matter how detailed the texture is. It also needs a consistent UV layout and a known mid-level, so the surface does not inflate or collapse.

Most displacement workflows define a mid-level, often 0.5. Values above the mid-level push outward; values below pull inward. If the mid-level is wrong, the whole surface inflates or sinks before any detail appears. Set the mid-level explicitly, then check the silhouette of a simple test object before applying the map to a complex mesh.

The same grayscale can mean different things

A grayscale image has no units and no direction until you assign them. In a depth context, white might mean near. In a displacement context, white might mean outward. In a height-map context, white might mean high. The file is identical; the shader and the workflow are not.

Before exporting, write down the convention. Is the value normalized to 0-1 or 0-255? Is it linear or sRGB? Is white near or far? Is the displacement centered at 0.5 or at zero? A map that is correct for one pipeline can be inverted in another.

When to use each

Use a depth map when the goal is to describe scene distance: compositing, relighting, atmospheric effects, masks, or a depth pass for a camera move. Use a displacement map when the goal is to move an existing surface: adding relief to a plane, detailing a sculpt, or driving a tessellated mesh. Use a height map when a CAM or 3D-print workflow expects elevation from a base plane.

For a CNC relief or a printable plaque, the height-field interpretation is usually the right one. For a VFX shot, the depth interpretation is usually the right one. The same source image can produce both, but the export and the documentation must say which one you produced.

A useful test is a plane and a sphere with the same map. On the plane, displacement moves along one direction; on the sphere, it moves along many. If the sphere shows stretching or a seam, the UV layout or the tangent basis is the problem, not the grayscale. Fix the mesh or the mapping before adjusting the texture.

How DepthCarve keeps the boundary visible

The workbench produces a depth estimate and a height field for relief. It does not silently call the result a displacement map. The free 8-bit PNG is labelled as a preview, the compatibility 16-bit container is labelled as preview-derived, and the production bundle records the direction and normalization in its manifest.

If you need a displacement map for a specific renderer, convert the height field in that renderer or in a dedicated texture tool. Confirm the mid-level, the UVs, and the scale. Do not assume that a depth PNG will behave like a displacement texture just because both are grayscale.

A quick decision table

If the next tool asks for distance from a camera, export depth. If it asks for movement along a normal, export displacement. If it asks for elevation from a base plane for a machine, export a height field. If it asks for surface direction for shading, export a normal map.

Write the convention into the filename or the manifest. The next person who opens the file should not have to guess what white means. A name such as height_white_high_16bit.png is not glamorous, but it prevents the most expensive class of mistake: a technically valid file applied in the wrong direction. Record the scale and the mid-level numerically as well, not only as a label, so the map can be recreated from the record alone.

Before the file moves forward

Final checklist

  • The next tool's expected map type is identified before export.
  • The direction and mid-level convention are written down.
  • The file is linear or sRGB as the target expects.
  • A displacement workflow has enough mesh density or tessellation.
  • The UV layout and displacement scale are confirmed.
  • The exported file is labelled with the convention and source.

Straight answers

Questions this workflow raises

Can I use a depth map as a displacement map?

Sometimes, after remapping and confirming the convention, but they are not interchangeable by default. A depth map is relative to a view; a displacement map moves along a surface normal. The renderer and the mesh determine whether the result is correct.

What is a height map then?

A height map records elevation from a reference surface. It is often used for terrain, CNC relief, and 3D printing. It can be converted to displacement or depth, but the conversion needs an explicit direction and scale.

Does white mean near or far?

It depends on the file and the workflow. There is no universal convention. Check the documentation or the manifest, and confirm with a known test object before using the map in production.

Do I need 16-bit for displacement?

Use 16-bit when the source contains more than 256 meaningful levels and the renderer can use them. Do not upconvert an 8-bit file and expect new detail.