Learn to Speak the Language of TouchDesigner
.toe: TOuch Environment file, the file type used by TouchDesigner to save your project.
Adaptive Homing: In the node viewers of Geometry COMPs and SOPs, the Adaptive Homing option will continually keep in-view the 3D geometry being displayed, even when the geometry changes shape, size and animated position.
Attributes: Information associated with SOP geometry. Points and primitives (polygons, NURBS, etc.) can have any number of attributes - position (P) is standard, and optional are normals (N), texture coordinates (uv), color (Cd), etc.
Binding: Binding is a Parameter Mode that ties two or more values together, where changing the value of any one of the bound values changes all of them. The actual value is stored in one place, whichever value is at the top of the bind chain, called the bind master. Parameters can be bind references, bind masters, or both. Table cells and bindCHOP channels can be bind masters only.
Bypass: An operator whose Bypass flag is set does nothing: All data from its first input flows through to its output unaffected.
Channel: A CHOP outputs one or more channels, where a channel is simply a sequence of numbers, representing motion, audio, etc. Channels are passed between CHOPs in TouchDesigner networks. See also Export.
CHOP or Channel Operator: An Operator Family which operate on Channels (a series of numbers) which are used for animation, audio, mathematics, simulation, logic, UI construction, and many other applications.
Clone: Cloning can make 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.
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 Gadget, 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 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 command Script, 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.
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.
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.
Instance: (1) A Geometry Component can render its SOP geometry many times using CHOP samples, DAT rows, TOP pixels or SOP points, (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, Select OPs and Switch 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 act like local variables in a component. They provide a simple shortcut to collections of parameters that you create within a component, accessing from anywhere in that component.
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: Unlike a Wire that connects nodes in the same Operator Family, a Link is the dashed lines between nodes that represent other data flowing between nodes, like CHOP Exports, node paths in parameters, and expressions in parameters referencing CHOP channels, DAT tables and other nodes.
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.
OP Create Menu: The menu used to select and create a new operator or component. Can be opened by the + sign in the Pane Bar, by pressing the <Tab> key while in a Network Editor, or by clicking MMB or RMB on an operator's output connector.
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: Parameters in TouchDesigner are an operator's settings (numbers, menus, flags, strings, paths) which the user can alter. Parameters for any operator can be opened by right-clicking on the operator and selecting "Parameters..." A currently selected operator's parameters can be viewed in a Network Editor by pressing the keyboard shortcut 'p'.
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. This creates a link between the two parameters such that when one changes, the other will change automatically (known as "constraints" in other software). A Parameter reference is a type of Link.
Parameters Dialog: A floating dialog, pane type, or dialog in a Network Editor that displays one operator's parameters.
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: The location of an operator within the TouchDesigner environment, for example,
/geo1/torus1, a node called
torus1 in a component called
geo1. The path
/ is called Root. To refer instead to a filesystem folder, directory, disk file or
http: address, see Folder.
Performance Monitor: The tool built-in to TouchDesigner that analyzes and displays what TouchDesigner is doing as it generates an image.
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 message that comes up when rolling the cursor over the interface, or clicking the ? help button on the corner of each operator's Parameters page.
Primitive: A surface type in SOPs including polygon, curve (NURBS and Bezier), patch (NURBS and Bezier) and other 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 Components or
.toe files is the protection of networks to enable using them but not accessing them internally.
Pulse: To pulse a parameter is to send it a signal from a CHOP or python or 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 in a Speed CHOP. A pulse from a CHOP is typically a 0 to 1 to 0 signal in a channel.
Quad Reprojection: Quad Reprojection renders pixel-perfect perspective-correct images for flat TVs and LED panels hung at any orientation.
Render Flag: The purple flag on COMP and SOP nodes that determines if the node will be rendered in a Render or Render Pass TOP. The operator must also be listed in the Render / Render Pass TOP's 'Geometry' parameter.
Rendering: A 3D image created with the Render TOP. Also used more generally to include the compositing (with TOPs) to generate an output image.
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: samples-per-second of a CHOP. Each CHOP in your network has a sample rate, whether it is used or not. The overall timeline has a "frame rate", which is the number of animation frames per second, generally your monitor display frequency.
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.
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.
Shader: The OpenGL code that creates a rendered image from polygons and textures. Shaders can be made of up to three parts: Vertex Shader, Geometry Shader and/or Pixel Shader, which are either embedded inside Materials, or placed in Text DATs and referenced to a GLSL Material.
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.
Socket.IO: Socket.IO enables real-time, bidirectional and event-based communication. It works on every platform, browser or device, focusing equally on reliability and speed. Socket.IO server apps are often created using Node.js. See SocketIO DAT.
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 associated with any operator, used to keep user-specified data within the operator.
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: A dialog box in which commands and scripts can entered manually. Script errors and python
print() messages are also output to 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 only contain the CHOP channels' samples between the last and the current cook frame.
TUIK: TouchDesigner User Interface Kit - A collection of User Interface components.
Unicode: Unicode 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.
Viewer Active: A state of a node where you can operate the contents of its viewer, like operate the gadgets of a panel in a node viewer, or 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.
WYSIWID: TouchDesigner is WYSIWID - What You See Is What It's Doing. All nodes can have interactive viewers of their data.