GeoDisplace

The GeoDisplace node moves each vertex along the normal to the surface according to channels in a texture map connected to the displace input. You can use displacement to quickly add detail to geometry without modeling it manually. This simple example shows using a CheckerBoard to displace the vertices on a card to create a bumpy surface.

Tip:  GeoDisplace's classic 3D system equivalent is the DisplaceGeo node.

Inputs and Controls

Connection Type

Connection Name

Function

Input

displace

The image you want to use to modify the 3D geometry.

unnamed

The previous stage in the scene you want to affect.

Control (UI)

Knob (Scripting)

Default Value

Function

GeoDisplace

Mask

mask_patterns

{lastmodified}

Specifies the mask pattern to match the prim names to affect. The default mask, {lastmodified}, applies the effect to whatever was changed by the previous node. A simple way to think of it is that {lastmodified} affects the node above. You can use standard glob-style variables, such as /*, to create masks or use individual prim names separated by spaces. For example, /GeoCube 1 /GeoCard3 applies the effect to only those prims.

Tip:  You can also use the cog menu, the Viewer picker, or drag and drop paths from the Scene Graph to create masks.

Channels

channels

rgb

The displace input’s channels to use for the displacement value.

If you set this to something other than all or none, you can use the checkboxes on the right to select individual channels.

Source

source

luminance

The source channel you want GeoDisplace to get a displacement map from. For example, if you selected rgb or rgba from the channels dropdown menu, you can use the red, green, or blue channel, or the pixel luminance as the source.

luminance, red, green, blue, alpha - offset each vertex along its normal by the selected channel value supplied by the displace input.

rgb absolute - set each vertex's position to the XYZ position in the selected channel supplied by the displace input.

rgb relative - offset each vertex's current position by the XYZ position in the selected channel supplied by the displace input.

Scale

scale

0.1

Increase or decrease the scale of the displacement. The higher the value, the bigger the displacement.

Weight xyz

weight

1, 1, 1

To give x, y, and z scale different weightings, enter new weights the weight fields. By default, each weighting is set to 1. If you don’t want to make changes to a value, set its weight to 0.

Offset xyz

offset

0, 0, 0

To offset x, y, and z values from the center of the geometry object, enter the value by which you want to offset them in the offset fields. For example, if you enter 0.5 in the offset y field, 0.5 is added to the y value.

Filter Size

filter_size

5

Change the size of the filter used to sample the displace input texture.

Filter

filter

Parzan

Select the filtering algorithm to use when remapping pixels from their original positions to new positions. This allows you to avoid problems with image quality, particularly in high contrast areas of the frame (where highly aliased, or jaggy, edges may appear if pixels are not filtered and retain their original values).

Impulse - remapped pixels carry their original values.

Cubic - remapped pixels receive some smoothing.

Keys - remapped pixels receive some smoothing, plus minor sharpening (as shown by the negative -y portions of the curve).

Simon - remapped pixels receive some smoothing, plus medium sharpening (as shown by the negative -y portions of the curve).

Rifman - remapped pixels receive some smoothing, plus significant sharpening (as shown by the negative -y portions of the curve).

Mitchell - remapped pixels receive some smoothing, plus blurring to hide pixelation.

Parzen - remapped pixels receive the greatest smoothing of all filters.

Notch - remapped pixels receive flat smoothing (which tends to hide moire patterns).

Lanczos4, Lanczos6, and Sinc4 - remapped pixels receive sharpening which can be useful for scaling down. Lanczos4 provides the least sharpening and Sinc4 the most.

UV Attribute Name

uv_attrib_name

uv

Change the name of the attribute that’s used as the vertex’s UV coordinates to find the image pixel. Normals are stored as a named attribute for a piece of geometry.

Cf - surface color

N - normal

PW - world-space point

uv - texture coordinates

vel - point velocity.

Recalculate Normals

recalc_normals

on

When enabled, recalculate the normals after the displacement. Normals are usually incorrect after vertices have been moved.

When disabled, use the normal values after displacement without recalculating.