by Kenneth Styrberg
Relevant to Blender v2.35
Displacement mapping is a powerful technique that allows a texture
input, either procedural or an image, to manipulate the position of rendered
faces. The displacement is controlled like a
NOR map, a
brighter texture will have a higher displacement. Unlike
Bump mapping, where the normals are
skewed to give an illusion of a bump, this creates real bumps. They
cast shadows, occlude other objects, and do everything real geometry does.
Displacement mapping is set up to behave as a texture channel, with one very important difference. In order to manipulate the positions of renderfaces smoothly, the faces have to be very small and this eats memory and CPU time.
For distant/non-critical items,
should still be used.
NOR maps, compared to
Displacement maps, impose very little additional CPU cost
per renderface, and you can
NOR map independently
of renderface count. Use of
Displacement maps quickly
leads to millions of faces in a scene.
Here we see the difference using
NOR maps versus
Displacement Maps in Figure 11.30, “Difference between NOR and Displacement Maps.”.
The left object has 240 faces and the right has 60717 faces at rendertime!
Displacement Maps when you need your geometry to be more accurate.
Here is a list, from best to worst, that shows how different
object types work with
Subsurf Meshes (
size is controlled with the render subsurf level. Displacement will work great!
Simple Subsurf Meshes Control renderfaces with render subsurf level. Displacement will work, but there is a pitfall at sharp edges if the texture there is not neutral gray.
Manually subdivided meshes Control renderfaces with number of subdivides. This can slow editing down because you cannot turn down the subdivide level when editing dense meshes.
Metaballs Control renderfaces with render wiresize. A small wiresize gives more faces.
The use of
Displacement Maps on the following object types
is possible, but they can give normal errors and visible seams when rendered.
The face count is directly connected to the U/V resolution of the surfaces. Higher resolution gives more renderfaces.
Open Nurbs surfaces
Closed Nurbs surfaces
Curves and Text
It is recommended that you convert curve and surface object types to meshes before applying displacement.
The interface to
Displacement Maps is two buttons
and two value sliders in
Map To panel.
(Figure 11.31, “Map To panel.”).
The intensity displacement is controlled with the
slider and the normal displacement is controlled by the
There are two modes in which displacement works:
Displace rendered vertices by intensity, vertices move along vertex normals.
Displace rendered vertices by texture normal, vertices move according to texture's
The two modes are not exclusive. The amount of each type can be mixed using the sliders in the
Materials context (F5),
Map To panel, Figure 11.31, “Map To panel.”.
Not all textures provide both types of input though.
Stucci, for example, only provides
Magic only provides
Cloud, Wood and
Marble provide both
Image provides both
Intensity and a
Texture OSA is not currently working correctly for images mapped to displacement.
Intensity displacement gives a smoother, more continuous surface, since the vertices are only displaced outwards. Normal displacement, gives a more aggregated surface, since the vertices are displaced in multiple directions.
Here is an example of the right-hand object in Figure 11.30, “Difference between NOR and Displacement Maps.”,
but with a Nor slider setting of about 2.0. Note that
Nor button is still unselected! You can clearly
see the more aggregated displacement when a
setting is used together with
The depth of the displacement is scaled with an object's scale, but not with the relative size of the data. This means if you double the size of an object in
Object mode, the depth of the displacement is also doubled, so the relative displacement appears the same.
If you scale in
Editmode, the displacement depth is not changed, and thus the relative depth appears smaller or bigger.
The texture's intensity defines the displacement. Neutral gray, RGB = 128,128,128, means no displacement. For positive displacement, Figure 11.33, “Positive Displacement selected.”, white is a peak, black is a trough.
For negative displacement, Figure 11.34, “Negative Displacement selected.”, it is reversed.
Here is an example showing the effect the subdivision level has on the
end result of displacement maps. This is a
subdivision type and the texture is a simple
texture added to an
the section called “Catmull-Clark Subdivision Surfaces ” for more on subdivision surfaces.
The subdivision levels range from 0 - (none) to 6 - (maximum) subdivision.