Create SDF text
create_sdf_textRaymarch text as a 3D signed-distance-field slab with customizable depth, lighting, rotation, and camera. Generates a TouchDesigner container with exposed controls and preview.
Instructions
Raymarch a text string as a signed-distance-field 3D slab: a Text TOP renders the glyphs to a mask, and a GLSL TOP treats that mask as an extruded distance field (glyph coverage in XY, closed by two Z planes at ±depth/2) so the letters read as solid, lit, rim-highlit 3D volumes that can spin. Distinct from create_sdf_field (primitive CSG only, no text) and create_text_3d (mesh-extruded text SOP) — this is the raymarched distance-field text look. The mask→SDF is approximate (coverage-derived, no external font SDF atlas required) and eased by smoothing. Creates a new baseCOMP under parent_path. Exposes CameraZ/Speed/StepCount/Intensity/Rotate/Fill/Edge/Background controls and previews the output. Returns a summary plus a JSON block with node paths, exposed controls, node errors, warnings, and an inline preview image.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "create_sdf_text"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bold | No | Render the seed text bold (thicker glyph coverage). | |
| font | No | Font family for the Text TOP that seeds the glyph mask (must be installed in TD). | Arial |
| text | No | The string to raymarch as SDF text. | HELLO |
| depth | No | Extrusion thickness of the raymarched text slab along Z (uDepth). | |
| speed | No | Animation time multiplier (drives uTime). Live 'Speed' control. | |
| rotate | No | Y-axis rotation speed of the text (radians/s via uRotate * uTime). Live 'Rotate'. Reads 0 when the TD timeline is paused. | |
| camera_z | No | Camera distance from the text (uCameraZ). Live 'CameraZ' control. | |
| intensity | No | Output brightness multiplier (uIntensity). Live 'Intensity'. | |
| smoothing | No | How sharply the mask coverage maps to the XY distance field. Lower = crisper edges, higher = softer/rounder. | |
| background | No | Background / miss colour hex. Live RGB swatch 'Background'. | #0a0a12 |
| edge_color | No | Rim/edge highlight colour hex. Live RGB swatch 'Edge'. | #ff5c8a |
| fill_color | No | Letter body colour hex (e.g. '#ffd34d'). Live RGB swatch 'Fill'. | #ffd34d |
| resolution | No | Output resolution [width, height] of the GLSL TOP. | |
| step_count | No | Raymarch iterations (uSteps). Live 'StepCount'. | |
| parent_path | No | Parent COMP path the self-contained 'sdf_text' container is created inside. | /project1 |
| expose_controls | No | Expose live CameraZ/Speed/StepCount/Intensity/Rotate/Fill/Edge/Background controls. | |
| light_direction | No | Light direction, normalised in shader — baked as GLSL constant. |