Learn to Speak the Language of TouchDesigneredit
.toe: TOuch Environment file, the file type used by TouchDesigner to save your entire project.
Adaptive Homing: In the Node Viewer of a Geometry COMP or any SOP, the Adaptive Homing option will continually keep in-view the 3D geometry being displayed, even when the geometry changes shape, size and animated position.
Annotate or Annotation: Annotates are displayed in the Network Editor as colored rectangles containing user-authored text and graphics. It is based on the Annotate COMP and allows you to document your networks with useful information like comments and node grouping.
Attributes: Information associated with SOP geometry. Points and primitives (polygons, NURBS, etc.) can have any number of attributes - position (P) is standard, and built-in optional attributes are normals (N), texture coordinates (uv), color (Cd), etc.
Binding: Binding is a Parameter Mode that ties two or more parameters' values together, where changing the value of any one of the bound parameters changes all of them. The actual value is stored in one place.
Channel: A CHOP outputs one or more channels, where a channel is simply a sequence of numbers (Samples), representing motion, audio, etc. Channels are passed between CHOPs in TouchDesigner networks. Channels can be Exported to Parameters.
CHOP or Channel Operator: An Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.
Clone: Cloning makes multiple components match the contents of a master component. A Component whose Clone parameter is set will be forced to contain the same nodes, wiring and parameters as its master component. Cloning does not create new components as does the Replicator COMP.
Connector: The notches on the left and right of each Node that let you Wire the output of one Operator to the input of another of the same Operator Family. The notches on the top and bottom of 3D Object Components and Panel Components that tie the components of each sub-Family in a Hierarchy.
Cook: To re-compute the output data of the Operators. An operator cooks when (1) its inputs change, (2) its Parameters change, (3) when the timeline moves forward in some cases, or (4) Scripting commands are run on the node. When the operator is a Panel Component, it also cooks when a user interacts with it. When an operator cooks, it usually causes operators connected to its output to re-cook. When TouchDesigner draws the screen, it re-cooks all the Dependencies - the necessary operators in all Networks, contributing to a frame's total "cook time".
DAT or Data Operator: An Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a python Script or GLSL Shader, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.
Docking or Docked: Any node can be docked to another node. This helps organize networks as two node that are docked together will stay together when the dock parent is moved in a network editor. A docked node can be collapsed into a small icon under the dock parent, reducing network clutter.
Event: Events are single-moment occurrences that are generated from a variety of conditions - from input actions that a user causes, from external devices and software, and from internal TouchDesigner states. A wide set of operator types respond to events and give the user a place to write python code that reacts to events.
Export: Exporting is the connection of CHOP channels to parameters of operators. The output of each exporting CHOP is one or more channels, active only while the CHOP Viewer is on. The current value of a channel can be exported to a parameter of any operator, overriding that parameter's value. See Parameter.
Expression: A text string that contains data (string, float, list, boolean, etc.) and operators (+ * < etc) that are evaluated by the node's language (python or Tscript) and returns a string, float list or boolean, etc. Expressions are used in parameters, DATs and in scripts.
Extensions: Any component can be extended with its own Python classes which contain python functions and data.
Flag: Indicator of certain states of an operator (bypass, display, lock, viewer active).
Folder: A Folder in TouchDesigner always refers to a Windows or macOS operating system directory/folder system that contain files and other folders. It does not refer to operators within TouchDesigner. See Network Path.
Frame: The term "Frame" is a measurement of time used (1) in the Timeline, (2) as a time-unit in CHOPs, and (3) as a time unit in movie files that are read into TOPs and written out from TOPs. The frame rate is the frames per second (FPS).
Geometry Viewer: A 3D viewport for viewing and manipulating 3D scenes or objects interactively. A geometry viewer can be found in Panes (alt+3 in any pane) or the Node Viewers of all Geometry Object components.
Global OP Shortcut: A name for a component that is accessible from any node in a project, which can be declared in a component's Global Operator Shortcut parameter.
GPU: The Graphics Processing Unit. This is the high-speed, many-core processor of the graphics card/chip that takes geometry, images and data from the CPU and creates images and processed data.
Hierarchy: Hierarchy relates components with other components. There are two groups of Hierarchy in TouchDesigner. 3D Object Components, and 2D Panel Components. Hierarchies let one component to be positioned relative to another. Each group can be connected via lines between the bottoms/tops of nodes in a network, or by placing one component inside the other.
Immune: Every node has an Immune Flag, when on and the node is inside a Clone, it is not affected by any change to the clone master, so you can store extra data in the clone or set a node to be ignored by the cloning process.
Instance: (1) A Geometry Component can instance and render its SOP geometry many times: once for each sample in a CHOP, row of a DAT table, pixel in a TOP, or point of a SOP, (2) An instance is an OP that doesn't actually have its own data, but rather just refers to an OP (or has an input) whose data it uses. This includes Null OPs, Switch OPs and in some cases Select OPs.
Internal Operators: Internal Operators (iOPs) provide a simple shortcut to a frequently-used operator, accessing from anywhere in that component.
Internal Parameters: Internal Parameters (iPars) act like local variables in a component. They provide a simple shortcut to collections of parameters that you create within a component, and access from anywhere in that component.
Keyframe: In the Animation component each keyframe specifies a channel's value at a specific time (or frame). A keyframe holds a value, slopes and accelerations, and an interpolation type. A channel's keyframes are used to interpolate and determine the values of all the samples of the channel.
Layout: (1) The TouchDesigner window is made of a menu bar at the top, a Timeline at the bottom, plus one of a choice of Layouts in the middle. A Layout is made on one or more Panes, each Pane can contain a Network Editor, Viewer, Panel, etc. See Pane and Bookmark. (2) Nodes in a network are arranged using Layout commands in the RMB menu.
Link or Reference: A Link or Reference is a dashed line between nodes that represent other data flowing between nodes. Examples are CHOP Exports, node Paths in parameters, and expressions in parameters referencing CHOP channels, DAT tables and other nodes. In contrast is a Wire that connects nodes in the same Operator Family.
Macro: The F1 to F12 keys run macros. The F1 macro puts you in Perform Mode. Pressing F9 or F10 over a panel brings up the network of the panel element you are pointing at. Macros are written in the legacy Tscript.
Network: Every component contains a network of operators that create and modify data. The operators are connected by wires that define where data is routed after the operator cooks its inputs and generates an output.
Network Editor: A pane type where networks of operators can be created and edited.
Node: The generic thing that holds an Operator, and includes Flags (display, bypass, lock, render, immune) and its position/size in the network. Whether you "lay down an Operator" or "lay down an Node", you're doing the same thing.
Object or 3D Object or Object Space: The sub-Family of Component types that are used to define and render 3D scenes. A Geometry Component is an Object that contains the 3D shapes to render. A Camera COMP and Light COMP are other Object types. Separately, "Objects" also refers to Python objects.
OP Create Menu: The menu used to select and create a new operator. Can be opened in the Network Editor by pressing the <tab> key or double-clicking the background, or by clicking the MMB or RMB on an operator's output connector, or by the + sign in the Pane Bar.
OP or Operator: Any of the procedural data operators. OPs do all the work in TouchDesigner. They "cook" and output data to other OPs, which ultimately result in new images, data and audio being generated. See Node.
Palette: A built-in panel in TouchDesigner that contains a library of components and media that can be dragged-dropped into a TouchDesigner network.
Pane: A work area in TouchDesigner's layout that includes the Network Editor and 7 other pane types used for different tasks. The TouchDesigner interface can consist of a single pane, or be split into multiple panes.
Pane Type: There are 8 pane types; Network, Panel, Textport, Geometry Viewer, TOP Viewer, CHOP Viewer, Parameters, Graph Editor for CHOP Channels, or a Geometry Spreadsheet.
Parameter: Every operator in TouchDesigner has a set of control Parameters that can be integer or floating point numbers, menus, binary toggles, text strings or operator paths, which determine the output of the operator.
Parameter Dialog: A floating dialog, pane type, or dialog in a Network Editor that displays one operator's parameters.
Parameter Expression: A parameter expression is a python expression that is in the expression field of a parameter.
Parameter Reference: A parameter reference can be setup between any two parameters by putting an expression in one parameter that refers to another parameter. This creates a Link between the two parameters such that when one changes, the other will change automatically (known in other software as a "constraint").
Parent: There are 2 kinds of parenting. The "parent component" is the component in which a node resides. The metaphor is extended to include grand parents, grand-grand parents, etc. The root
/ is the ultimate parent to all nodes. See also 3D Parenting and panel Parenting.
Parent Shortcut: A Parent Shortcut is a parameter on a component that contains a name that you can use anywhere inside the component to refer to that component using the syntax
parent.Name, for example
parent.Effect.width to obtain panel width.
Path or Network Path: The location of an operator within the TouchDesigner environment, for example,
/geo1/circle1, a node called
circle1 in a component called
geo1. The path
/ is called Root. This path is displayed at the top of every Pane, showing which Component's network you are currently in. To refer instead to a filesystem folder, directory, disk file or
http: address, see Folder.
Pattern Expansion: Pattern Expansion takes a short string and expands it to generate a longer string of individual elements.
Perform Mode: Perform Mode is an optimized mode for live performance that only renders one specified Window COMP which is one window that contains your video outputs and your (optional) control interface. In Perform Mode the network editing window is not open - you edit your networks in Designer Mode. Alternate with F1 and Esc.
Performance Monitor: The tool built-in to TouchDesigner that analyzes and displays what TouchDesigner is doing as it generates the output images, audio and data.
Pipe: A way of moving data from one TouchDesigner process to another. Images are moved via Touch Out / In TOPs, channels are moved via Touch Out / In CHOPs and Pipe Out / In CHOPs. Data moves via TCP/IP or UDP.
Popup Help: Help messages appear when (1) moving the cursor over the TouchDesigner user interface, (2) clicking the ? help button on the corner of each operator's Parameters page, (3) holding the Alt key while moving the cursor over the parameter names in the Parameter Dialogs, and (4) evaluating selected text in parameter expressions.
Primitive: A surface type in SOPs that includes polygon, curve (NURBS and Bezier), patch (NURBS and Bezier) and other basic shapes like sphere, tube and metaball. Points and Primitives are part of the Geometry Detail, which is a part of a SOP.
Privacy: Privacy of TouchDesigner Components (
.tox files) or Projects (
.toe files) is the protection of networks that enables them to be used but not be visible or editable.
Procedural: Procedural means the automatic generation of outputs based on live inputs and the current state of TouchDesigner. It is the chain-reaction mechanism of TouchDesigner, where if one piece of data changes, it automatically causes other "dependent" operators and expressions to re-Cook and re-generate the outputs.
Projection Mapping: A technique or workflow that allows for displaying content on often irregular shapes and surfaces.
Pulse: To "pulse" a parameter is to send it a signal from (1) an exported CHOP channel or (2) a python command or (3) a mouse click that causes a new action to occur immediately. A pulse via python is via the
.pulse() function on a pulse-type parameter, such as Reset parameter in a Speed CHOP. A pulse from a CHOP is typically a 0 to 1 to 0 signal in an exported channel.
Quad Reprojection: Quad Reprojection renders pixel-perfect perspective-correct images for flat TVs and LED panels hung at any orientation.
Reference: The grey dashed lines between nodes is a Reference (or Link). A Reference is (1) a Parameter Reference, a parameter in an OP that is a name or path to another operator, (2) a Node Reference, an expression in a parameter or DAT script that contains the name or path of another operator, (3) a DAT Cell Reference or (4) a CHOP Channel Reference.
Render Flag: The purple flag on COMP and SOP nodes that determines if the node will be rendered in a Render TOP or Render Pass TOP. The operator must also be listed in the Render / Render Pass TOP's 'Geometry' parameter.
Rendering: Rendering is the creation of a 3D image with the Render TOP. Rendering is also used more generally to include the compositing (with TOPs) to generate an output image.
Replicator: Creates copies of a component, one for every row in a table or using a Number of Replicants parameter - it is the "for-loop" of operators. Unlike Clone, it automatically creates copies of a master component.
Resolution: The width and height of an image in pixels. Most TOPs, like the Movie File In TOP can set the image resolution. See Aspect Ratio for the width/height ratio of an image, taking into account non-square pixels.
RMB Menu: The menu that appears when clicking the right mouse button on different parts of TouchDesigner. (Sometimes you need to be holding down Ctrl.)
Sample Rate or Sample: samples-per-second of a CHOP. Each CHOP in your network has a sample rate. In contrast, the overall timeline has a Frame Rate, which is the number of frames to cook and display per second, generally your monitor display frequency, default 60.
Scope: A parameter in most CHOPs that restricts which channels of that CHOP will be affected. Normally all channels of a CHOP are affected by the operator. TOPs have Channel Mask, a similar feature.
Script: A set of commands located in a Text DAT that are triggered to run under certain conditions. There are two scripting languages in TouchDesigner: Python and the original Tscript. Scripts and single-line commands can also be run in the Textport.
Sequential Parameters: Sequential Parameters are sets of parameters (sequence blocks) that can be dynamically repeated multiple times.
Shader: The OpenGL (pre-2022) or Vulkan (2022-) code that runs on the GPU and creates rendered images from polygons and textures. A shader is programmed in Text DATs and referenced by a GLSL Material or a GLSL TOP. Shaders are composed of up to three parts: Vertex Shader, Pixel Shader and Compute Shader.
Shortcut: There are four types of shortcuts: Application Shortcuts that are built-in to TouchDesigner's authoring interface, Panel Shortcuts that you create for any custom built panels, Parent Shortcuts for accessing a component from within that component, and Global OP Shortcuts that access a unique component from anywhere in TouchDesigner.
Snippets: OP Snippets is a set of 700+ live examples of TouchDesigner operators. You can access snippets via the Help menu, or by right-clicking on network operators, or r-clicking on OP Create dialog items.
SOP or Surface Operator: A Operator Family that reads, creates and modifies 3D points, polygons, lines, particles, surfaces, spheres and meatballs. Particles and point clouds are now done primarily on the GPU using TOPs.
Status Bar: The line of text at the top of the TouchDesigner window which displays messages from TouchDesigner when certain events succeed or fail.
Storage: Storage is a python dictionary in each operator, where users can store and fetch extra data.
Synth: Synths is a legacy term for the artworks created by TouchDesigner. A Synth consists of the .toe file created by TouchDesigner and all the associates media files that are needed to run an artwork in TouchPlayer or, in Perform Mode, TouchDesigner.
Tag: Each operator can have a set of text strings that are its "tags". You can set them and search for them within TouchDesigner.
Textport: The dialog box in which commands and scripts can typed in manually. Output to the textport includes script errors and messages from
debug() calls in python code. You can also edit DATs in the textport.
Time Slice or Time Slicing: A Time Slice is the time from the last cook frame to the current cook frame. In CHOPs it is the set of short channels that contain the CHOP channels' samples between the last and the current cook frame.
Unicode: Unicode text is fully supported in TouchDesigner. Unicode can be typed into parameters, DATs, Python scripts etc. Unicode encoded text files can be loaded into DATs. File paths can include any unicode character that is legal for a file path.
Vertex or Vertices: A sequence of vertices form a Polygon in a SOP. Each vertex is an integer index into the Point List, and each Point holds an XYZ position and attributes like Normals and Texture Coordinates.
Viewer Active: A state of a node where you can operate the contents of its viewer (the + at botton-right of any node), like operating the gadgets of a panel in a node viewer, or the 3D data in the viewer of a Geometry component. With Viewer Active off you can select, move and delete nodes by clicking/dragging on them, even if the viewer is visible.
Widgets: Widgets is a diverse collection of components located in the Palette, designed for building user interfaces.
Window: A Window in TouchDesigner is a window in Microsoft Windows or macOS that contains either (1) the TouchDesigner editing interface that exists in Designer Mode, or (2) a user-created Panel inside a Window Component. The user-created windows can span Multiple Monitors borderless, or be floating windows with borders, or popups.
WYSIWID: TouchDesigner is WYSIWID - What You See Is What It's Doing. All nodes can have interactive viewers of their data.
Now you are fluent in Touchese.