TouchDesigner

Last updated
TouchDesigner
Developer(s) Derivative
Stable release
2023.11510 [1] / February 7, 2024;16 days ago (2024-02-07)
Operating system Windows, macOS
Type 3D computer graphics
License Proprietary
Website derivative.ca

TouchDesigner is a node-based visual programming language for real-time interactive multimedia content, developed by the Toronto-based company Derivative. It's been used by artists, programmers, creative coders, software designers, and performers to create performances, installations, and fixed media works. [2] [3] [4] [5]

Contents

History

Greg Hermanovic, Rob Bairos, and Jarrett Smith founded the Canadian company Derivative. [6] In 2000, Hermanovic used the Houdini 4.1 code base as the initial scaffolding for the TouchDesigner. From 2002 to 2007, TouchDesigner's release title adopted the trailing 007 to 017 digits to indicate its versioning. In 2008, Derivative released a beta version of the platform called TouchDesigner 077, a rewrite of its previous versions that incorporated a fully procedural OpenGL composing and effects pipeline. [6]

Features

TouchDesigner covers several major areas of 2D and 3D production, including: [7]

Operators

Operators are the building blocks of a TouchDesigner project. [2] [8] These objects are represented as Nodes in the user interface and are connected to create procedural effects and animation. Each operator is customized with a unique set of parameters and flags that control its operation and processing. Operators, often referred to as ops, come in six varieties:

COMP

Channel operators serve as the backbone of the control system in TouchDesigner. They are used to process motion data, audio, on-screen controls, MIDI data, and other input devices. These operators organize data as a series of channels. According to the derivative wiki entry about CHOPs, they were designed to reduce the tedium of motion editing and to help build and manage more complex motion. [9]

TOP

Texture operators are image-based operations that are GPU-accelerated. Data in TOPs can be scaled to any resolution, limited only by the amount of RAM available on a system's graphics card. [10]

CHOP

Channel operators are the backbone of the control system in TouchDesigner. Used for processing motion data, audio, on-screen controls, MIDI data, and other input devices, these operators organize data as a series of channels. According to the derivative wiki entry about CHOPs, they "were designed to reduce the tedium of motion editing and to help build and manage more complex motion." [11]

SOP

Surface operators are objects responsible for 3D operations and modeling in TouchDesigner. These objects are used to generate, import, modify, and combine 3D surfaces. [12] Supported surface types are polygons, curves, NURBS surfaces, metaballs, and particles. This is perhaps the oldest part of TouchDesigner and has its roots directly in the Houdini 4.1 code base.

MAT

Materials are used as a part of the 3D rendering pipeline in TouchDesigner. Several standard material types exist, as well as materials that support importing custom vertex and pixel shaders. [13]

DAT

Data operators are used to hold text, tables, text-encoded data (XML, JSON), and scripts. These operators are also sometimes used to store readme documents and other code comments in a given network. [14]

Related Research Articles

<span class="mw-page-title-main">Wire-frame model</span> Representation of a 3D object with only its edges rendered

A wire-frame model, also wireframe model, is a visual representation of a three-dimensional (3D) physical object used in 3D computer graphics. It is created by specifying each edge of the physical object where two mathematically continuous smooth surfaces meet, or by connecting an object's constituent vertices using (straight) lines or curves. The object is projected into screen space and rendered by drawing lines at the location of each edge. The term "wire frame" comes from designers using metal wire to represent the three-dimensional shape of solid objects. 3D wire frame computer models allow for the construction and manipulation of solids and solid surfaces. 3D solid modeling efficiently draws higher quality representations of solids than conventional line drawing.

<span class="mw-page-title-main">Computer-aided design</span> Constructing a product by means of computer

Computer-aided design (CAD) is the use of computers to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve communications through documentation, and to create a database for manufacturing. Designs made through CAD software help protect products and inventions when used in patent applications. CAD output is often in the form of electronic files for print, machining, or other manufacturing operations. The terms computer-aided drafting (CAD) and computer-aided design and drafting (CADD) are also used.

Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware acceleration if it is available on the graphics card, allowing for hardware acceleration of the entire 3D rendering pipeline or even only partial acceleration. Direct3D exposes the advanced graphics capabilities of 3D graphics hardware, including Z-buffering, W-buffering, stencil buffering, spatial anti-aliasing, alpha blending, color blending, mipmapping, texture blending, clipping, culling, atmospheric effects, perspective-correct texture mapping, programmable HLSL shaders and effects. Integration with other DirectX technologies enables Direct3D to deliver such features as video mapping, hardware 3D rendering in 2D overlay planes, and even sprites, providing the use of 2D and 3D graphics in interactive media ties.

<span class="mw-page-title-main">Texture mapping</span> Method of defining surface detail on a computer-generated graphic or 3D model

Texture mapping is a method for mapping a texture on a computer-generated graphic. Texture here can be high frequency detail, surface texture, or color.

Haptic technology is technology that can create an experience of touch by applying forces, vibrations, or motions to the user. These technologies can be used to create virtual objects in a computer simulation, to control virtual objects, and to enhance remote control of machines and devices (telerobotics). Haptic devices may incorporate tactile sensors that measure forces exerted by the user on the interface. The word haptic, from the Greek: ἁπτικός (haptikos), means "tactile, pertaining to the sense of touch". Simple haptic devices are common in the form of game controllers, joysticks, and steering wheels.

<span class="mw-page-title-main">Max (software)</span> Visual programming language

Max, also known as Max/MSP/Jitter, is a visual programming language for music and multimedia developed and maintained by San Francisco-based software company Cycling '74. Over its more than thirty-year history, it has been used by composers, performers, software designers, researchers, and artists to create recordings, performances, and installations.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.

<span class="mw-page-title-main">Houdini (software)</span> 3D animation software

Houdini is a 3D animation software application developed by Toronto-based SideFX, who adapted it from the PRISMS suite of procedural generation software tools.

Windows Presentation Foundation (WPF) is a free and open-source graphical subsystem originally developed by Microsoft for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initially released as part of .NET Framework 3.0 in 2006. WPF uses DirectX and attempts to provide a consistent programming model for building applications. It separates the user interface from business logic, and resembles similar XML-oriented object models, such as those implemented in XUL and SVG.

<span class="mw-page-title-main">Coordinate-measuring machine</span> Device for measuring the geometry of objects

A coordinate measuring machine (CMM) is a device that measures the geometry of physical objects by sensing discrete points on the surface of the object with a probe. Various types of probes are used in CMMs, the most common being mechanical and laser sensors, though optical and white light sensors do exist. Depending on the machine, the probe position may be manually controlled by an operator or it may be computer controlled. CMMs typically specify a probe's position in terms of its displacement from a reference position in a three-dimensional Cartesian coordinate system. In addition to moving the probe along the X, Y, and Z axes, many machines also allow the probe angle to be controlled to allow measurement of surfaces that would otherwise be unreachable.

<span class="mw-page-title-main">3D scanning</span> Scanning of an object or environment to collect data on its shape

3D scanning is the process of analyzing a real-world object or environment to collect three dimensional data of its shape and possibly its appearance. The collected data can then be used to construct digital 3D models.

<span class="mw-page-title-main">3D rendering</span> Process of converting 3D scenes into 2D images

3D rendering is the 3D computer graphics process of converting 3D models into 2D images on a computer. 3D renders may include photorealistic effects or non-photorealistic styles.

<span class="mw-page-title-main">C4 Engine</span> Proprietary computer game engine developed by Terathon Software

The C4 Engine is a proprietary computer game engine developed by Terathon Software that is used to create 3D games and other types of interactive virtual simulations for PlayStation 5, PlayStation 4, PlayStation 3, Windows, Mac OS X, Linux, and iOS.

<span class="mw-page-title-main">3D computer graphics</span> Graphics that use a three-dimensional representation of geometric data

3D computer graphics, sometimes called CGI, 3-D-CGI or three-dimensional computer graphics, are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering digital images, usually 2D images but sometimes 3D images. The resulting images may be stored for viewing later or displayed in real time.

In computing, 3D interaction is a form of human-machine interaction where users are able to move and perform interaction in 3D space. Both human and machine process information where the physical position of elements in the 3D space is relevant.

iClone is a real-time 3D animation and rendering software program. Real-time playback is enabled by using a 3D videogame engine for instant on-screen rendering.

Deep image compositing is a way of compositing and rendering digital images that emerged in the mid-2010s. In addition to the usual color and opacity channels a notion of spatial depth is created. This allows multiple samples in the depth of the image to make up the final resulting color. This technique produces high quality results and removes artifacts around edges that could not be dealt with otherwise.

<span class="mw-page-title-main">3D modeling</span> Form of computer-aided engineering

In 3D computer graphics, 3D modeling is the process of developing a mathematical coordinate-based representation of a surface of an object in three dimensions via specialized software by manipulating edges, vertices, and polygons in a simulated 3D space.

MPEG-H 3D Audio, specified as ISO/IEC 23008-3, is an audio coding standard developed by the ISO/IEC Moving Picture Experts Group (MPEG) to support coding audio as audio channels, audio objects, or higher order ambisonics (HOA). MPEG-H 3D Audio can support up to 64 loudspeaker channels and 128 codec core channels.

This is a glossary of terms relating to computer graphics.

References

  1. "Release Notes, TouchDesiger". derivative.ca. February 7, 2024. Retrieved February 7, 2024.
  2. 1 2 "Visualizing Sound: A Beginner's Guide to Using TouchDesigner with Live - Ableton". www.ableton.com. Retrieved 2023-04-08.
  3. "Extending Live: How Three Different Artists Approach Visuals for Live Performance - Ableton". www.ableton.com. Retrieved 2023-04-08.
  4. Mesina, Gianina (2023-01-23). "FOUNDATIONS LP: Exploring Generative Art in TouchDesigner with DeRe". We Are Studio. Retrieved 2023-04-08.
  5. Lechner, Patrik (2014-11-26). Multimedia Programming Using Max/MSP and TouchDesigner. Packt Publishing Ltd. ISBN   978-1-84969-972-3.
  6. 1 2 TouchDesigner Wiki, Retrieved October 26, 2016
  7. Features list, TouchDesigner Wiki, Retrieved October 26, 2016
  8. Operator, TouchDesigner Wiki, Retrieved October 26, 2016
  9. About Components, TouchDesigner Wiki, Retrieved October 26, 2016
  10. About TOPs, TouchDesigner Wiki, Retrieved October 26, 2016
  11. About CHOPs, TouchDesigner Wiki, Retrieved October 26, 2016
  12. About SOPs, TouchDesigner Wiki, Retrieved October 26, 2016
  13. About MATs, TouchDesigner Wiki, Retrieved October 26, 2016
  14. About DATs, TouchDesigner Wiki, Retrieved October 26, 2016