Fractal T3D¶
Summary¶
The Fractal T3D fills the volume with one of three fractals: a quaternion Julia set, the Mandelbulb, or an Iterative fold of a basic shape. Each voxel iterates its own position, so cost grows with Iterations and resolution, and fine detail below a voxel aliases: raise the resolution or Softness rather than expecting detail the grid cannot hold.
Like the shape generators, the fractal is centred on the volume and placed by the transform parameters, and its inside is blended from Background Color to Fill Color at its surface. The fractals give estimated distances, so Softness is a visual control here. The first input sets the resolution and, by default, the fractal is composited over it: see Combining volumes.
Parameters - Fractal Page¶
Fractal Fractal ⊞ - The fractal to generate.
- Julia
Julia- A quaternion Julia set, q → q^Power + C, iterated in four dimensions; the volume shows a 3D slice of it at W-Slice. Voxel positions are divided by 0.35 before iterating. - Mandelbulb
Mandelbulb- The Mandelbulb, a 3D analogue of the Mandelbrot set in spherical coordinates, 16 iterations. Voxel positions are divided by 0.45 before iterating. - Iterative
Iterative- An iterated function system: each voxel's position is folded into the positive octant (absolute value) and transformed by each block of Transform, Iterations times, and the distance to Shape is taken from the result. Repeated fold-and-transform builds self-similar structures (Menger-like boxes, sphere clusters).
Aspect Correction Aspectcorrection - Keeps the shape's proportions in voxels when the volume is not a cube: sizes along Y and Z are measured in units of the width, so a sphere stays round (measured: Radius 0.1 in 128 × 64 × 32 is 26 voxels across on every axis). Off, each axis runs from −0.5 to 0.5 across its own extent and the shape stretches with the volume (26 × 12 × 6 voxels).
Transform Order Xord ⊞ - Order in which scale, rotate and translate are applied to the shape.
- Scale Rotate Translate
srt - Scale Translate Rotate
str - Rotate Scale Translate
rst - Rotate Translate Scale
rts - Translate Scale Rotate
tsr - Translate Rotate Scale
trs
Rotate Order Rord ⊞ - Order of the rotations about X, Y and Z.
- Rx Ry Rz
xyz - Rx Rz Ry
xzy - Ry Rx Rz
yxz - Ry Rz Rx
yzx - Rz Rx Ry
zxy - Rz Ry Rx
zyx
Translate Tx Ty Tz ⊞ - Moves the shape. The volume's centre is 0, and each axis is measured as a fraction of its own extent: 0.5 moves the shape's centre to the face of the volume.
Rotate R1 R2 R3 ⊞ - Rotation of the shape about each axis, in degrees, around Pivot.
Scale Sx Sy Sz ⊞ - Scale of the shape along each axis, around Pivot.
Pivot Px Py Pz ⊞ - Pivot of rotation and scale, measured like Translate. The default 0 is the volume's centre.
Uniform Scale Scale - Uniform scale, multiplied with Scale per axis.
Fill Color Fillcolorr Fillcolorg Fillcolorb ⊞ - Colour inside the shape.
Fill Alpha Fillalpha - Alpha inside the shape.
Background Color Bgcolorr Bgcolorg Bgcolorb ⊞ - Colour outside the shape.
Background Alpha Bgalpha - Alpha outside the shape. 0 leaves the outside empty, so the shape composites cleanly.
Pre-Multiply RGB by Alpha Premultrgbbyalpha - Not applied in 1.14: the fractal blends Fill Color and Background Color as they are. Multiply the colour by the alpha yourself for premultiplied output.
Softness Softness - Thickness and softness of the fractal's surface. The fractals give an estimated, not an exact, distance, so this is a visual control rather than a width: larger values thicken fine filaments and blur the edge. In Iterative mode it is multiplied by Iterations, which keeps the look similar as iterations are added.
Parameters - Julia Page¶
C C1 C2 C3 C4 ⊞ - The Julia constant, a quaternion (four components). Small changes reshape the set completely; the default −0.72, 0.23, 0, 0 is a connected set.
W-Slice Wslice - The fourth coordinate of the 3D slice through the four-dimensional Julia set. Animating it morphs the shape.
Power Juliapower - Exponent of the Julia iteration. 2 is the classic quadratic set.
Parameters - Mandelbulb Page¶
Phi Shift Phishift - Added to the elevation angle in each iteration, in radians. Twists the bulb's lobes.
Power Mandelpower - Exponent applied to the radius in each Mandelbulb iteration. 8 is the classic Mandelbulb.
P0 P0 - Multiplier of the azimuth angle in each iteration. Equal to Power for the classic Mandelbulb.
P1 P1 - Multiplier of the elevation angle in each iteration. Equal to Power for the classic Mandelbulb.
Parameters - Iterative Page¶
Shape Shape ⊞ - The shape measured at the end of the folding: a sphere of radius Radius, a cube Radius wide, or a torus of ring radius Radius and tube radius Radius / 2.
- Sphere
Sphere - Box
Box - Torus
Torus
Iterations Iterations2 - Fold-and-transform steps. The fractional part blends in one more step, so the parameter animates smoothly. Cost grows linearly with it.
Radius Iterradius - Size of Shape, in the folded space.
Transform Transform - The transforms applied in each step, in order. At most three are used. Each is a full transform (order, translate, rotate, scale, uniform scale). The defaults (translate −0.17, rotate 20 / 30 / 40, uniform scale 1.5) give a converging fractal; small changes to them change its character.
Transform Order Transform0iterxord ⊞ - Order in which this block's scale, rotate and translate are applied.
- Scale Rotate Translate
srt - Scale Translate Rotate
str - Rotate Scale Translate
rst - Rotate Translate Scale
rts - Translate Scale Rotate
tsr - Translate Rotate Scale
trs
Rotate Order Transform0iterrord ⊞ - Order of this block's rotations about X, Y and Z.
- Rx Ry Rz
xyz - Rx Rz Ry
xzy - Ry Rx Rz
yxz - Ry Rz Rx
yzx - Rz Rx Ry
zxy - Rz Ry Rx
zyx
Translate Transform0itertx Transform0iterty Transform0itertz ⊞ - Translation of this block, in the folded space.
Rotate Transform0iterrx Transform0iterry Transform0iterrz ⊞ - Rotation of this block about each axis, in degrees.
Scale Transform0itersx Transform0itersy Transform0itersz ⊞ - Scale of this block along each axis.
Uniform Scale Transform0iterus - Uniform scale of this block, multiplied with its Scale.
Parameters - Output Page¶
Combine with Input Combineinput ⊞ - How the generated volume uses the first input, when one is connected.
- Set Resolution Only
res- The input only sets the output resolution; its content is discarded. - Composite and Set Resolution
compres- The generated volume is composited with the input using Operation.
Operation Operand ⊞ - Compositing operation between the generated volume and the first input, with the same options as TouchDesigner's Composite TOP. The generated volume is the first operand: with Over, it sits on top of the input.
Swap Order Swaporder - Swaps the operands of Operation, so the input comes first.
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.
- 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.
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.
- 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.
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.
Bypass Bypass - Passes the first input through unchanged and skips the operator's work. With nothing connected the output is a single black voxel.
Version Version - T3D version of this operator. Read-only information; include it when reporting a problem.
Copyright Copyright - Author and licence information. Read-only.
Operator Inputs¶
- Input 0: Composite Input
T3D_in1- Optional. Sets the output resolution when Output Resolution is Use Input, and with Combine with Input at Composite the shape is composited with it using Operation.
Operator Outputs¶
- Output 0: Output
T3D_output- The shape, as colour and alpha.
Performance¶
GPU time when the operator recooks: 0.093 ms at 64³, 0.104 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.