Noise T3D¶
Summary¶
The Noise T3D fills a 3D texture with the noise of TouchDesigner's Noise TOP.
The noise types, harmonics and Output-page combine modes behave as they do in the Noise TOP. Each voxel samples
the noise at its own position, (voxel + 0.5) / resolution, transformed by the Transform page, so the pattern is
continuous in all three dimensions.
Aspect Correction on the Transform page keeps noise features the same size along X, Y and Z in a non-cubic volume. Leave the Noise TOP's own Aspect Correct on the Noise page off: it knows only width and height.
The first input is combined with the noise according to the Output page. The second input is a coordinate map: each voxel's RGBA in it becomes that voxel's XYZW noise coordinate, so a position volume offset by another noise gives domain-warped noise.
Parameters - Noise Page¶
Type Type ⊞ - Noise function, as in the Noise TOP: Perlin or Simplex in 2, 3 or 4 dimensions, or Random. The 2D types ignore Z, so every slice gets the same pattern. The 4D types take their fourth coordinate from Translate 4D and Scale 4D (or from the coordinate map's alpha), which evolves the noise in place.
- Perlin 2D (GPU)
perlin2d - Perlin 3D (GPU)
perlin3d - Perlin 4D (GPU)
perlin4d - Simplex 2D (GPU)
simplex2d - Simplex 3D (GPU)
simplex3d - Simplex 4D (GPU)
simplex4d - Random (GPU)
randomgpu
Seed Seed - Seed of the noise pattern. Any value; each gives an unrelated pattern with the same character.
Period Period - Size of the noise features, as in the Noise TOP, in normalised coordinates where the volume's X extent is 1. Halving it doubles the feature frequency. With Aspect Correction on, Y and Z use the same unit.
Harmonics Harmon - Number of higher-frequency octaves layered on the base frequency, as in the Noise TOP. Roughness is fixed at 0.5.
Harmonic Spread Spread - Frequency factor between octaves. Used only by the Harmonic Summation type.
Harmonic Gain Gain - Gain of the octaves on top of the base frequency, as in the Noise TOP.
Exponent Exp - Raises the noise value to this power, as in the Noise TOP: above 1 pulls values toward zero, below 1 pulls the peaks toward ±1.
Amplitude Amp - Amplitude of the noise value.
Offset Offset - Value added to the noise after Amplitude. At the default 0.5 the noise is centred on 0.5.
Monochrome Mono - One noise value in all channels. Off, R, G and B get independent noise.
Aspect Correct Aspectcorrect - The Noise TOP's own aspect correction, which uses only the width and height. Leave it off and use Aspect Correction on the Transform page, which covers all three axes.
Parameters - Transform Page¶
Aspect Correction Aspectcorrection - Keeps noise features the same size along X, Y and Z in a non-cubic volume, by scaling the Y and Z coordinates by height ÷ width and depth ÷ width. Off, each axis runs 0 to 1 across its own extent, so features stretch along the axes with more voxels.
Transform Order Xord ⊞ - Order of scale, rotate and translate applied to the noise coordinates.
- 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 ⊞ - Translation of the noise space, in normalised coordinates (X extent 1). Animating it scrolls the noise through the volume.
Rotate Rx Ry Rz ⊞ - Rotation of the noise space, in degrees.
Scale Sx Sy Sz ⊞ - Scale of the sampling space per axis, as in the Noise TOP.
Pivot Px Py Pz ⊞ - Pivot of rotation and scale, in normalised coordinates.
Translate 4D T4d - Translation of the fourth noise coordinate, for the 4D types. Animate it to evolve the noise in place.
Scale 4D S4d - Scale of the fourth noise coordinate, for the 4D types.
Parameters - Output Page¶
RGB Rgb ⊞ - How the noise's RGB combines with the first input, as in the Noise TOP.
- Noise
noise - Input * Noise
multiply - Input + Noise
add - Input - Noise
subtract
Input Scale Inputscale - Multiplier on the input before it is combined.
Noise Scale Noisescale - Multiplier on the noise before it is combined.
Alpha Alpha ⊞ - Source of the output's alpha, as in the Noise TOP.
- Zero
zero - One
one - Noise
random - Input
input - Input * Noise
multiply - Input + Noise
add - Input + clamp(Noise)
addclamp
Dither Dither - Dithers the output to hide banding in low-precision formats.
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.
With nothing connected, Pixel Format at Use Input resolves to 8-bit fixed. The default Amplitude and Offset keep the noise within 0–1; anything that pushes it outside is clamped unless a float format is set. See Common page.
Operator Inputs¶
- Input 0: Composite Input
T3D_in1- Combined with the noise according to the Output page, as the Noise TOP's first input. With Output Resolution at Use Input it also sets width, height and depth. - Input 1: Noise Coordinate Map
T3D_in2- Its RGBA at each voxel replaces the voxel's position as the noise coordinate (XYZW), so a volume of positions offset by another noise warps the domain. Sampled at the output voxel's normalised position.
Operator Outputs¶
- Output 0: Noise
T3D_output- The noise volume.
Performance¶
GPU time when the operator recooks: 0.064 ms at 64³, 0.343 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.
From TouchDesigner 2025.31550, whose Noise TOP generates 3D textures, the noise is computed directly in the
volume. In earlier builds the Noise T3D evaluates it in a 2D atlas of the volume's slices and copies that into
the 3D texture. The atlas is ceil(√depth) × width pixels wide and must fit the GPU's maximum 2D texture size:
32768 on current NVIDIA hardware, where 1024³ just fits; GPUs with a limit of 16384 stop at 512 × 512 × 1024.