Filter Operators

Operators that take an input and modify it.

Many of these are spatial transformations (scale, rotate, translate), which alter the coordinates that are used by their input operator.

Many of these can be used for various types of return types (SDFs, float/vector fields, etc). Some only support a limited set of return types.


adjustColor adjustColor Adjust properties of color values, either directly on a field, or on the assigned surface color of an Sdf result.
applyTransform beta
assignAttribute beta
assignColor assignColor Assigns a surface color attribute to an SDF surface.
assignUV assignUV Assigns UV coordinates to an SDF surface.
axisRotate A simplified and optimized version of `rotate`, which only supports rotating around a single axis (x, y, or z).
bend bend Bends space, along a main axis, towards a second axis.
cameraTransform beta Specialized transform that can be applied to cameras.
cartesianToPolar cartesianToPolar Convert from cartesian space to various types of polar spaces.
circularRepeat beta Repeat an space to fill a 2D circular area.
elongate elongate Stretches a shape by splitting it into pieces, moves them apart, and connects them.
extend extend Clamps coordinates around an area, which causes its edges to be extended infinitely along each axis.
fieldExpr beta Modifies field values using a custom expression.
fieldFunction beta Modifies the values of a field using various types of math functions, similar to a `Function CHOP`.
flip flip Flips the input across an axis, either on its own or merged with the original.
fold fold
geometricSeriesSquareTile geometricSeriesSquareTile beta Repeats space in a square arrangement that gets smaller in the center.
gridClone gridClone Repeats an SDF in a grid arrangement, combining the results.
hilbertCurveTransform hilbertCurveTransform beta
instance instance Repeats its input some number of times, exposing the index as the iteration x value, and combines the results.
instanceField Repeats an input field multiple times and combines the results.
invert invert Invert an SDF, so that the inside is the outside.
iteratedTransform iteratedTransform Performs a transform multiple times, optionally reflecting across axes in between the steps.
kink kink Bends space, similar to the `bend`.
knife knife Cuts off an SDF along a plane.
lightTransform beta Specialized transform that can be applied to lights, taking into account things like look at direction.
limitArea beta Use an SDF to limit the area where a field produces values.
limitField limitField Limits the values produced by a float or vector field.
limitLight beta Limits the brightness of a light using distance attenuation or a bounding SDF (or both).
linearClone linearClone Repeats an SDF along a line, combining the results.
logPolarRepeat logPolarRepeat beta
lookAtRotate beta Rotates space to face towards a point.
magnet magnet Pulls or twists space within an area.
mirrorAxes mirrorAxes Mirror space across one or more axes, similar to `reflect`.
mirrorOctant mirrorOctant Mirror coordinates across two axes and the diagonals.
mirrorQuadrant mirrorQuadrant Mirror coordinates across two axes.
mobiusTransform mobiusTransform
modifyDistance beta
modifyNormals Use a field to modify the normals (bump mapping) used by shading elements in a modular material.
modulo1D modulo1D Repeats space along one axis.
modulo2D modulo2D Repeats space along 2 axes.
modulo3D modulo3D Repeats space along all 3 axes.
moduloLine beta Repeats space along a line, similar to `modulo1D`.
moduloPolar moduloPolar Repeats space radially, like a kaleidoscope.
moduloSpherical moduloSpherical Repeats space in a spherical mesh layout with rows and columns.
moduloToroidal moduloToroidal beta Repeats space as rows and columns of a torus-shaped grid.
onion onion Converts a solid SDF to a thin shell of the surface.
polarToCartesian beta Converts coordinates from polar to cartesian.
quadTreeRepeat quadTreeRepeat beta Repeats space in a 2d grid where some cells are subdivided into smaller cells recursively.
quantizeCoords Quantize coordinates to a 3D grid, which is sort of like "voxelizing" the space.
radialClone radialClone Repeats an SDF radially around an axis, combining the resulting shapes.
radialSlice radialSlice Takes a pie-shaped slice of an SDF around an axis, either removing it or everything except it.
rangeTransform rangeTransform Applies a transform based on a range of settings, mapped with either the iteration value or a field input.
rectangleRepeat rectangleRepeat beta
reflect reflect Reflects space across a plane.
remapCoords beta Modifies space using a vector field.
reorderCoords Swaps axes for the input.
rescaleField Rescales the values produced by a field.
rescaleFloatField Simplified version of `rescaleField` that only has single settings vs vectors for each.
reshapeValues Reshapes the values produced by a field by applying a function.
restrictStage Restricts which render stages an operator is used in.
rotate Transforms space with rotation.
rotate4D rotate4D Projects 3D space into 4D space, applies rotation along two axes and then projects back into 3D space.
rotateNormals Applies rotation to the surface normals used by material elements such as `specularContrib`.
round round Adds to (or subtracts from) the size of an SDF, which has the effect of rounding it out or shrinking it.
scale Scales space.
slice Takes a slice of an SDF along an axis, either removing it or everything except it.
sphericalMobiusTransform sphericalMobiusTransform beta
spiralZoom spiralZoom Transforms space using a logarithmic spiral.
transform Transform the coordinates of the input, with rotation, scaling, and translation.
transformSequence beta Applies one or more transform operators sequentially, to coordinates, field values, etc, with support for looping.
translate Translates coordinates of the input ROP.
twist twist Twists space around an axis.
uvTransform beta Transform the UV coordinates assigned to an SDF result.
waveWarp waveWarp Uses repeating waves to offset space.