Reference / Nodes
Post-FX
Image-space effects. Each one takes a texture in, a handful of float parameters, and emits a transformed texture. Chain them; reorder them; the only rule is that order matters, blur-then-glow looks different from glow-then-blur.
All Post-FX nodes share a uniform shape: one texture input, a few floats, and a texture output. Documented per node below.
Blur
blurPostFXGaussian blur with separable two-pass kernel.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| radius | float | 5 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
The default soft-focus. Big radii hit the GPU hard at 4K, drop the resolution upstream with downsample first if performance dips.
Glow
glowPostFXBright-pass plus blur, added back over the original, bloom in three parameters.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| intensity | float | 1 | , | |
| threshold | float | 0.5 | , | |
| radius | float | 8 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Lower the threshold for a smoky overall lift, raise it for a true bloom that only catches highlights.
Color Correction
colorCorrectionPostFXBrightness, contrast and saturation in one node.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| brightness | float | 0 | , | |
| contrast | float | 1 | , | |
| saturation | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
The simplest grading node. For per-channel work or HSL shifts, reach for levels or hslAdjust.
Invert
invertPostFXInverts RGB. The amount input crossfades back to the original.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| amount | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Edge Detect
edgeDetectPostFXSobel filter, emits white edges on black.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| strength | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Stack with blend set to additive over the original to add contour lines without losing the underlying image.
Pixellate
pixellatePostFXAverage-block downsample to fake a low-res look.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| pixelSize | float | 8 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Chromatic Aberration
chromaticAberrationPostFXSplits R, G and B channels along an angle for a lens-fringe artifact.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| amount | float | 0.01 | , | |
| angle | float | 0 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Halftone
halftonePostFXNewspaper-style dot pattern modulated by luminance.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| dotSize | float | 4 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Mirror
mirrorPostFXMirrors the image around an axis at the chosen angle.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| angle | float | 0 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Threshold
thresholdPostFXBinarises luminance, softness controls the falloff width.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| threshold | float | 0.5 | , | |
| softness | float | 0.01 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Tint
tintPostFXMultiply the image by a color, with an amount for crossfading back to neutral.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| color | color | , | , | |
| amount | float | 0.5 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Distortion
distortionPostFXAnimated UV distortion driven by an internal noise field.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| amount | float | 0.05 | , | |
| scale | float | 4 | , | |
| speed | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
VHS
vhsPostFXComposite of scanlines, noise and color bleed for a tape-deck look.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| scanlines | float | 0.3 | , | |
| noise | float | 0.1 | , | |
| colorBleed | float | 0.005 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Barrel Distortion
barrelDistortionPostFXLens barrel / pincushion warp, positive bulges, negative pinches.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| amount | float | 0.3 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Sharpen
sharpenPostFXUnsharp mask, high-passes the image and adds it back.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| amount | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Twirl
twirlPostFXSpiral swirl around the centre. Radius controls how far the swirl reaches.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| amount | float | 3 | , | |
| radius | float | 0.5 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Chroma Key
chromaKeyPostFXGreen / blue screen keyer with tolerance, softness and spill suppression.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| tolerance | float | 0.4 | , | |
| softness | float | 0.1 | , | |
| spillSuppression | float | 0.5 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Pick the key color on the inspector. Output alpha can be composited under any texture by feeding both into blend.
Radial Blur
radialBlurPostFXZoom-blur radiating from the centre.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| amount | float | 0.1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Film Grain
filmGrainPostFXAnimated luminance noise overlay.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| intensity | float | 0.15 | , | |
| size | float | 1.5 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Tritone
tritonePostFXMaps shadows / midtones / highlights to three picked colors.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| intensity | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Set the three colors on the inspector. The intensity input crossfades the result back to the source.
Ripple
ripplePostFXConcentric water-ripple distortion expanding from the centre.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| amplitude | float | 0.02 | , | |
| frequency | float | 15 | , | |
| speed | float | 3 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Polar Warp
polarWarpPostFXRe-maps the image into polar coordinates. Pair with rotation for a spinning kaleidoscope feel.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| rotation | float | 0 | , | |
| zoom | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Block Glitch
blockGlitchPostFXRandom horizontal block shifts, datamosh / DV-tape error look.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| intensity | float | 0.3 | , | |
| blockSize | float | 0.05 | , | |
| speed | float | 8 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Dither
ditherPostFXOrdered (Bayer) dithering at a chosen number of levels.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| levels | float | 4 | , | |
| scale | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Directional Blur
directionalBlurPostFXLinear motion blur along an angle.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| amount | float | 0.02 | , | |
| angle | float | 0 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Sine Warp
sineWarpPostFXIndependent sine warps along X and Y, wavy heat-haze.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| amplitudeX | float | 0.03 | , | |
| amplitudeY | float | 0.03 | , | |
| frequencyX | float | 5 | , | |
| frequencyY | float | 5 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Channel Mixer
channelMixerPostFXLinear matrix mix, the inspector exposes a 4×4 of weights for surgical channel work.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Use this for tinted black-and-white conversions or for swapping color channels with custom weights. The channelShuffle node in Shading is faster if you only need a permutation.
Dilate
dilatePostFXMorphological dilation, grows bright regions.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| radius | float | 2 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Erode
erodePostFXMorphological erosion, shrinks bright regions. The opposite of Dilate.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| radius | float | 2 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Cross Hatch
crossHatchPostFXHatching lines in the dark areas, denser as luminance drops.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| lineSpacing | float | 5 | , | |
| lineWidth | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Streaks
streaksPostFXAnamorphic light streaks from bright regions.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| threshold | float | 0.7 | , | |
| streakLength | float | 0.15 | , | |
| intensity | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Frame Feedback
frameFeedbackPostFXBlends the previous output frame back over the current one, temporal trails, smoke, infinite zoom.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| decay | float | 0.9 | , | |
| zoom | float | 1 | , | |
| rotation | float | 0 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
The single most powerful Post-FX in the list. decay below 1 fades trails, exactly 1 holds them, above 1 blows the buffer out, clip with levels downstream when chasing the look.
Emboss
embossPostFXDirectional difference filter, fakes a relief / chiseled look.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| strength | float | 1 | , | |
| angle | float | 0.785 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Kaleidoscope
kaleidoscopePostFXMirrors a wedge of the image around the centre N times.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| segments | float | 6 | , | |
| rotation | float | 0 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Posterize
posterizePostFXQuantises each channel into a small number of levels.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| levels | float | 4 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Solarize
solarizePostFXInverts pixels above a threshold, the classic film-overexposure look.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| threshold | float | 0.5 | , | |
| intensity | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Vignette
vignettePostFXDarkens the corners. Roundness controls how circular the falloff is.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| amount | float | 0.5 | , | |
| softness | float | 0.5 | , | |
| roundness | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Lens Flare
lensFlarePostFXProcedural lens flare anchored at a screen-space position.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| posX | float | 0.5 | , | |
| posY | float | 0.3 | , | |
| intensity | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
God Rays
godRaysPostFXVolumetric radial smear from a screen-space point, sun-shafts.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| posX | float | 0.5 | , | |
| posY | float | 0.5 | , | |
| intensity | float | 0.5 | , | |
| threshold | float | 0.5 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
HSL Adjust
hslAdjustPostFXHue shift, saturation multiply and lightness offset, surgical color work.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| hueShift | float | 0 | , | |
| saturation | float | 1 | , | |
| lightness | float | 0 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Noise Displace
noiseDisplacePostFXAnimated noise-driven UV displacement of the input texture.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| amount | float | 0.03 | , | |
| scale | float | 4 | , | |
| speed | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
The image-space cousin of the 3D noiseDisplace3d modifier. Useful for water shimmer, heat haze and warp transitions.
Scan Lines
scanLinesPostFXCRT scanline overlay, line count, intensity, optional vertical scroll.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| lineCount | float | 300 | , | |
| intensity | float | 0.3 | , | |
| speed | float | 0 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Tile
tilePostFXRepeats the texture in a grid with optional UV offset, distinct from the Generator-side Tiles node.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| tilesX | float | 3 | , | |
| tilesY | float | 3 | , | |
| offsetX | float | 0 | , | |
| offsetY | float | 0 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Color Map
colorMapPostFXLUT / gradient map, re-colors the image by sampling a palette texture by luminance.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| intensity | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Pick the gradient on the inspector. The intensity input crossfades back to the original color.
Outline
outlinePostFXSolid edge stroke around bright regions.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| thickness | float | 1 | , | |
| threshold | float | 0.1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Blend
blendPostFXCombines two textures with a chosen blend mode and an opacity multiplier.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| texture2 | texture | , | , | |
| opacity | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
The blend mode (normal, add, multiply, screen, overlay, etc.) is on the inspector. The most-reached-for compositing primitive in the engine.
Levels
levelsPostFXPhotoshop-style levels, input black, input white and gamma.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| inputBlack | float | 0 | , | |
| inputWhite | float | 1 | , | |
| gamma | float | 1 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Use after a frameFeedback chain to claw back contrast that decay has flattened.
Edge Glow
edgeGlowPostFXEdge detection with a glow halo, the result reads like neon outlines.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| glowIntensity | float | 2 | , | |
| edgeThreshold | float | 0.1 | , | |
| glowRadius | float | 4 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Liquid Drip
liquidDripPostFXViscous liquid dripping from edges with shaded specular highlights.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| dripAmount | float | 0.5 | , | |
| viscosity | float | 0.5 | , | |
| speed | float | 1 | , | |
| gravity | float | 0.5 | , | |
| dripColorR | float | 0.6 | , | |
| dripColorG | float | 0.02 | , | |
| dripColorB | float | 0.02 | , | |
| specular | float | 0.8 | , | |
| glossiness | float | 40 | , | |
| lightAngle | float | 0.25 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Reads as wax, blood or paint depending on the color and viscosity. Heavy, best stacked late in the chain.
Person Segmentation
personSegmentationPostFXVision-framework person mask, outputs the original texture with the background alpha-keyed out.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| feather | float | 0.5 | , | |
| threshold | float | 0.5 | , | |
| maskBlur | float | 4 | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Runs Apple's on-device person-segmentation model every frame. Pair with liveInput for camera-based green-screen-without-a-greenscreen.
Blob Tracker
blobTrackerVisionTracks moving or bright blobs in a texture and draws a bounding box around each one, with optional connecting lines.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
| overlay | texture | , | , | |
| blobCount | float | , | , | |
| blob1X | float | , | , | |
| blob1Y | float | , | , | |
| blob1Size | float | , | , | |
Detects blobs, assigns each a persistent ID across frames, and draws a box around it. The texture output passes the source through untouched; overlay is a transparent canvas with just the boxes and lines, composite it back over the video with a blend or feed it to a picture node. Detection runs fully asynchronously (GPU downscale plus a non-blocking readback) so it never stalls the render.
Two detection modes. Motion diffs each frame against the previous one, it finds whatever is moving and ignores anything static (best for video and live camera). Luma thresholds a mono channel, it finds bright regions whether they move or not (best for generators, 3D scenes, and stills). Pick the mono channel (luma / R / G / B) and, in Luma, optionally invert to track dark regions instead.
Tuning. Threshold sets the sensitivity; Min size / Max size filter blobs by their normalized long edge; Max blobs caps how many are kept (largest first). Move dist is the furthest a blob can travel between frames and keep its ID. Rate Hz throttles detection while the boxes glide at render rate, and Smoothing controls that glide (high = snappy, low = trailing). Proc px is the internal processing resolution, lower it if you need more headroom.
Drawing. Toggle the bounding boxes (thickness, padding, color), the connecting lines between blobs (mesh connects every pair within Link dist, nearest each blob to its closest neighbour, chain left-to-right), and a centroid dot. The blobCount and blob1X / blob1Y / blob1Size outputs expose the data (largest blob's centroid and size) to drive the rest of the graph.
Alpha Mask
alphaMaskPostFXUses a mask texture's luminance (or alpha) as the alpha of a foreground, optionally composited over a background.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | Foreground - shown inside the mask. |
| background | texture | , | , | Shown outside the mask. Optional; transparent by default. |
| mask | texture | , | , | Luminance source (.r, or .a with useAlpha). Null = opaque. |
| amount | float | 1 | 0 – 1 | Masking strength. |
| feather | float | 0 | 0 – 0.2 | Soft edge falloff. |
| invert | bool | false | , | Flip the mask. |
| useAlpha | bool | false | , | Sample mask.a instead of mask.r. |
Outputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | |
A general matte node with an explicit texture output, so it sits anywhere in a chain like a blend. Feed it a shape, a gradient, or a Vision mask and it carves the foreground to that shape, preserving alpha so downstream compositing stays correct.
Depth Displacement
depthDisplacementPostFXPer-pixel fractal (FBM) distortion of the source, gated by a depth map so only chosen depths move.
Inputs
| Port | Type | Default | Range | Notes |
|---|
| texture | texture | , | , | Source image. |
| depth | texture | , | , | Depth map (.r) gating displacement strength. |
| scale | float | 0.02 | 0 – 0.2 | Displacement magnitude. |
| displaceX | float | 1 | -2 – 2 | |
| displaceY | float | 1 | -2 – 2 | |
| frequency | float | 4 | 0.1 – 32 | Noise detail. |
| octaves | float | 4 | 1 – 6 | FBM octaves. |
| speed | float | 0.5 | -4 – 4 | Animation speed (wall-clock). |
| roughness | float | 0.5 | 0 – 1 | Gain between octaves. |
| depthMin | float | 0 | 0 – 1 | Remap depth into a 0–1 mask. |
| depthMax | float | 1 | 0 – 1 | |
| invert | bool | false | , | Invert the depth mask. |
| chromatic | float | 0 | 0 – 2 | RGB-split separation. |
A feedback-style Post-FX (no texture output - it writes into the parent’s frame). Pair it with Depth Estimation so the foreground subject melts while the background sits still, or vice versa via invert.