TOP To T3D¶
Summary¶
The TOP To T3D brings 2D images into a volume in one of three ways:
- Time Based stacks the incoming frames: every cook the slices move one step towards the front and the new image enters at the back, so the volume's depth is the last depth frames. Slicing it along another axis gives slit-scan images; rendering it shows motion as a shape.
- Plane places the image as a slab of Thickness at Z Offset, which the Transform page can move and tilt through the volume.
- Height Map builds a solid: each column is filled with the image's colour up to the height read from the second input, like a terrain or a relief.
The image is fitted to the volume's width and height by Pre-Fit Overlay; the depth comes from Resolution on the Common page.
Parameters - TOP to Page¶
Mode Mode ⊞ - How the 2D image fills the volume.
- Time Based
Timebased- A history: each cook the volume's slices move one step towards the front (Z = 0) and the newest image enters as the back slice, so depth is time and a depth of 64 holds the last 64 frames. - Plane
Plane- The image as a slab Thickness thick at depth Z Offset, placed by the Transform page (which can tilt it through the volume). - Height Map
Heightmap- A solid: at each pixel, the voxels from the front up to the height map's value × Height Scale + Z Offset + Thickness take the image's colour; Depth Softness fades its top.
Reset Resettoggle - While on, the history is cleared every cook (Time Based).
Reset Reset - Clears the history once (Time Based).
Thickness Thickness - Thickness of the slab (Plane) or of the layer above the height (Height Map), as a fraction of the depth.
Depth Softness Depthsoftness - Fades the slab's faces, or the top of the solid, instead of cutting them off. 0 is hard.
Z Offset Zoffset - Depth of the slab's centre (Plane) or of the height map's zero (Height Map), 0 to 1 across the depth.
Height Scale Heightscale - Multiplies the height map's value.
Height Channel Heightchannel ⊞ - The value of the height map used as height (luminance is 0.3 R + 0.6 G + 0.1 B).
Parameters - Transform Page¶
Pre-Fit Overlay Prefit ⊞ - How the image is fitted to the volume's width and height, as the Fit TOP's options.
- Fill
fill - Fit Horizontal
fithorz - Fit Vertical
fitvert - Fit Best
fitbest - Fit Outside
fitoutside - Native Resolution
nativeres
Justify Horizontal Justifyh ⊞ - Horizontal placement of the image, for Native Resolution.
- Left
left - Center
center - Right
right
Justify Vertical Justifyv ⊞ - Vertical placement of the image, for Native Resolution.
- Bottom
bottom - Center
center - Top
top
Extend Overlay Extend ⊞ - What the image returns outside its bounds after fitting and transforming.
- Hold
hold - Zero
zero - Repeat
repeat - Mirror
mirror
Transform Order Xord ⊞ - Order in which scale, rotate and translate are applied (Plane and Height Map).
- 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.
- 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 image through the volume, as a fraction of each axis's extent.
Rotate R1 R2 R3 ⊞ - Rotates the image in the volume, in degrees, around Pivot; tilts the plane.
Scale Sx Sy Sz ⊞ - Scales the image along each axis, around Pivot.
Pivot Px Py Pz ⊞ - Pivot of rotation and scale, 0 to 1 per axis; 0.5 is the centre.
Uniform Scale Scale - Uniform scale, multiplied with Scale.
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 - Runs the operation this many times, each pass taking the previous pass's result in place of the first input. Cost scales linearly with the number of passes.
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: Color
in_color- The 2D image placed into the volume. - Input 1: Height
in_height- The height map, for Mode Height Map: its Height Channel sets the height at each pixel.
Operator Outputs¶
- Output 0: Output
T3D_output- The volume built from the image.
Performance¶
GPU time when the operator recooks: 0.007 ms at 64³, 0.013 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.