Skip to content

To TOP T3D

Summary

The To TOP T3D brings a volume back into 2D, for any TOP network, a render's texture or a file. Mode Full lays every slice side by side in an atlas, ⌈√depth⌉ slices wide; Slice outputs a single slice. With Interpolate on, the slice is sampled at any depth and through a plane that the Transform page can move and rotate, for oblique cuts through the volume.

A full atlas grows quickly: 128³ becomes 1536 × 1536, and 512³ would need 11 584 pixels on a side. It must fit the GPU's maximum 2D texture size.

Parameters - Output Page

Mode Mode ⊞ - What the 2D texture shows. Menu · default Full

  • Full Full - Every slice, tiled in a grid of ⌈√depth⌉ columns, slice 0 at the bottom left, left to right then upwards. A 64³ volume becomes a 512 × 512 atlas.
  • Slice Slice - One slice, at the volume's width and height.

Interpolate Interpolate - Samples the slice at any depth (Fraction) with filtering, and lets the Transform page move and rotate the slicing plane. Off, Z Index picks an exact slice. Toggle · default Off

Z Index Zindex - The slice shown, counted from the front (0). Int · default 0

Fraction Fraction - Depth of the slice, 0 to 1 from front to back, blending between slices. Float · default 0.5

Extend Inputextenduv ⊞ - What the volume returns where the transformed plane leaves it. Menu · default Zero

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

Parameters - Transform Page

Transform Order Xord ⊞ - Order in which scale, rotate and translate are applied to the slicing plane. Menu · default Scale Rotate Translate

  • 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. Menu · default Rx Ry Rz

  • 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 slicing plane, as a fraction of each axis's extent. Float × 3 · default 0

Rotate R1 R2 R3 ⊞ - Rotates the slicing plane, in degrees, around Pivot: an oblique cut through the volume. Float × 3 · default 0

Scale Sx Sy Sz ⊞ - Scales the slicing plane around Pivot. Float × 3 · default 1

Pivot Px Py Pz ⊞ - Pivot of rotation and scale, 0 to 1 per axis; 0.5 is the centre. Float × 3 · default 0.5

Uniform Scale Scale - Uniform scale, multiplied with Scale. Float · default 1

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 in1 - The volume to turn into a 2D texture.

Operator Outputs

  • Output 0: Output out1 - A 2D texture, for any TOP network.

Performance

GPU time when the operator recooks: 0.020 ms at 64³, 0.022 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.