Skip to content

Blur T3D

Summary

The Blur T3D blurs a volume with a Catmull-Rom kernel Filter Size voxels wide, applied along X, Y and Z in turn. Passes repeats it for wider, smoother blurs. Pre-Shrink blurs a smaller copy and scales it back up, which widens the blur for the same cost: a factor of 2 processes an eighth of the voxels.

The output keeps the input's resolution. What lies beyond the faces is set by Extend Overlay: with the default Zero, content near a face is darkened as the blur pulls in transparent black.

Parameters - Blur Page

Pre-Shrink Preshrink - Blurs a copy reduced by this factor on every axis and scales the result back up: 2 blurs an eighth of the voxels and doubles the reach of Filter Size. Much cheaper for wide blurs; fine detail is lost first. Int · default 1

Filter Size Filtersize - Width of the filter in voxels of the (pre-shrunk) volume: that many samples along each axis, weighted by a Catmull-Rom kernel. The blur is separable, one pass per axis, so its cost grows linearly with the size. Int · default 2

Passes Passes - Repeats the blur. Each repetition widens it (three passes of size n are close to one of size n × √3). Int · default 1

Double Steps Doublesteps - Has no effect in 1.14. Toggle · default Off

Extend Overlay Extend ⊞ - What the input returns beyond its faces, which is blurred into the outermost voxels: Zero darkens them towards transparent, Hold keeps their values, Repeat and Mirror tile the input. Menu · default Zero

  • Hold hold
  • Zero zero
  • Repeat repeat
  • Mirror mirror

Parameters - Common Page

Output Resolution Outputresolution ⊞ - Where the output's width, height and depth come from. With nothing connected to the first input the operator always uses Resolution, whichever option is set. Menu · default Use Input

  • Use Input useinput - The first input's width, height and depth.
  • Custom custom - The Resolution parameter.

Resolution Resolution1 Resolution2 Resolution3 ⊞ - Width, height and depth of the output in voxels. Used when Output Resolution is Custom, or when the first input is not connected. Memory is width × height × depth × bytes per voxel of the Pixel Format: 256³ at 16-bit float RGBA is 128 MiB. Int × 3 · default 64 · min 1

Input Smoothness Inputfiltertype ⊞ - Filtering of the internal GLSL TOPs' input samplers, as TouchDesigner's Input Smoothness. Inputs are read at normalised coordinates, so this matters whenever the input and output resolutions differ or an input is transformed. Nearest Pixel returns voxels unblended; Interpolate Pixels is trilinear. Menu · default Interpolate Pixels

  • Nearest Pixel nearest
  • Interpolate Pixels linear
  • Mipmap Pixels mipmap

Passes Npasses - Has no effect on this operator: its shaders are compute shaders, which read the connected input on every pass, so extra passes repeat identical work. Leave it at 1. Int · default 1

Pixel Format Format ⊞ - Pixel format of the output. Use Input takes the first input's format. With nothing connected, Use Input resolves to 8-bit fixed (RGBA), which clamps values to 0–1 and quantises them to 1/255: set a float format for signed distances, densities above 1, velocities or anything else outside 0–1. Menu · default Use Input

Bypass Bypass - Passes the first input through unchanged and skips the operator's work. With nothing connected the output is a single black voxel. Toggle · default Off

Version Version - T3D version of this operator. Read-only information; include it when reporting a problem. Str

Operator Inputs

  • Input 0: Input T3D_in1 - The volume to blur.

Operator Outputs

  • Output 0: Output T3D_output - The blurred volume, at the input's resolution.

Performance

GPU time when the operator recooks: 0.045 ms at 64³, 0.095 ms at 128³, all of its passes summed (GeForce RTX 4090, TouchDesigner 2025.33230). An operator whose inputs and parameters are unchanged does not recook and costs nothing.