What Does the Displacement Node Do in Blender?

The displacement node in Blender alters the physical geometry or visual surface details of a 3D object using texture data or scalar values. This article covers the primary function of the displacement node, the difference between fake and true displacement, key node settings, and how to configure it correctly within your shading workflow.

Core Function of the Displacement Node

The Displacement node takes a map—typically a grayscale height map or a procedural texture—and converts that data into directional offset instructions for a mesh surface. It outputs a Displacement Vector that connects directly into the Displacement input of the Material Output node.

Instead of manually editing vertices, the node calculates where surface points should move based on texture values:

  • White values (1.0): Push the surface outward.
  • Black values (0.0): Pull the surface inward.
  • Gray values (0.5): Represent the neutral base surface.

Two Types of Displacement in Blender

The displacement node operates in two distinct ways depending on your render engine and material settings:

1. Bump Mapping (Fake Displacement)

  • How it works: Modifies surface lighting and normals to create the illusion of depth and detail without adding or moving actual geometry.
  • Compatibility: Works in both Eevee and Cycles.
  • Best used for: Fine surface details like scratches, skin pores, leather grain, or small brick textures.
  • Performance: Very lightweight and fast to render.

2. True Displacement (Physical Geometry)

  • How it works: Physically shifts the mesh vertices at render time along their normals according to the height map.
  • Compatibility: Supported primarily in Cycles.
  • Best used for: Deep terrain, large rocks, heavy wood grain, or dramatic geometric changes where edges need to cast real shadows and show true silhouettes.
  • Performance: Demands high vertex density or adaptive subdivision, requiring significantly more memory and compute power.

Key Inputs and Controls

  • Height: The input field for your grayscale texture, height map, or procedural noise node.
  • Midlevel: Sets the neutral elevation value where no displacement occurs. By default, this is 0.5, meaning mid-gray values cause zero surface shift.
  • Scale: Controls the overall depth or height intensity of the displacement. Lowering this prevents extreme geometry distortion.
  • Normal: Allows you to input custom surface normals to alter the direction of the offset before displacement is applied.

How to Set Up the Displacement Node

  1. Connect Nodes: Connect your texture’s Color or Factor output to the Height input of the Displacement node. Connect the Displacement output to the Displacement socket on the Material Output node.

  2. Enable Displacement in Material Settings: Select your object, go to the Material Properties tab, scroll down to Settings > Surface, and change Displacement from Bump Only to either Displacement Only or Displacement and Bump.

  3. Ensure Sufficient Geometry (For True Displacement): True displacement requires geometry to deform. Add a Subdivision Surface modifier to your object. In Cycles, enabling Adaptive Subdivision allows Blender to dynamically tessellate the mesh based on render camera distance for optimal detail.