Warp

Warp images by corner pin or projection, or deform geometry through an FFD lattice.

What it does

Warp bends an image or a shape through a draggable control-point grid. Drag the corners for a corner-pin, or add rows and columns to build a full lattice and push interior points for a free warp. An image input is resampled pixel by pixel. An analytic shape, mesh, points or curve is deformed as geometry, each point moving through the same lattice in 3D.

With a 2×2 grid the warp defaults to Homography, a true perspective warp. Add rows or columns and set Interpolation to Bilinear or Bezier for a soft, curved lattice deform.

When to use it

ParameterTypeDefault
inputOneOf([FieldOf(Raster), Collection])
grid_colsNumber2
grid_rowsNumber2
grid_depthNumber1
interpolationString"Homography"
output_dimensionString"2D"
constrain_convexBooleantrue
warp_dataString""
samplingString"Bilinear"
out_of_boundsString"Transparent"
instance_attributeString"None"
strengthNumber1

Gotchas

Output Dimension, 2D flat image against 3D deformable textured plane, appears only when the input is an image. Wire in a shape or mesh and the control disappears: geometry deforms in place, in whatever dimensionality it already has.

Out of Bounds matters for Clamp, Repeat and Mirror only. With Transparent, the default, the warp paints the deformed region and leaves everything else clear, the classic corner-pin look. A wrap mode fills the whole canvas by tiling or mirroring the source.

Constrain Convex guards a 2×2 grid only. On larger lattices, points can be pushed into a self-crossing, non-convex shape.

Instance Attribute varies warp strength per shape instead of applying it uniformly: read @u for a smooth gradient across instances, or a custom attribute for a stepped effect. It appears only when the input is an analytic shape.

Worked example

  1. Add a Warp node and wire an image into it. With the default 2×2 grid, drag the four corner handles in the viewport for a corner-pin warp.

  2. Raise Grid Columns and Grid Rows to add interior control points, then set Interpolation to Bilinear or Bezier for a smoother, curved lattice deform.

  3. To make the image sit and bend in a 3D scene instead of staying flat, set Output Dimension to 3D. It becomes a textured, deformable plane.

  4. To deform geometry instead, wire a shape, mesh or points into Warp. Each point is pushed through the same lattice, with no toggle needed.

See also

Panoramic · Lens Distort · Displace · Rasters (images)