TouchDesigner

Last updated
TouchDesigner
Developer(s) Derivative
Stable release
2023.11510 [1] / February 7, 2024;3 months 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 and form the overall navigable structure of the file. They are unique compared to other operator families in that they contain their own networks. Component networks can contain operators and/or additional sub-networks (i.e. additional components). [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 TouchDesigner's documentation, 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">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.

Autodesk 3ds Max, formerly 3D Studio and 3D Studio Max, is a professional 3D computer graphics program for making 3D animations, models, games and images. It is developed and produced by Autodesk Media and Entertainment. It has modeling capabilities and a flexible plugin architecture and must be used on the Microsoft Windows platform. It is frequently used by video game developers, many TV commercial studios, and architectural visualization studios. It is also used for movie effects and movie pre-visualization. 3ds Max features shaders, dynamic simulation, particle systems, radiosity, normal map creation and rendering, global illumination, a customizable user interface, and its own scripting language.

<span class="mw-page-title-main">LightWave 3D</span> 3D computer graphics program

LightWave 3D is a 3D computer graphics program developed by LightWave Digital. It has been used in films, television, motion graphics, digital matte painting, visual effects, video game development, product design, architectural visualizations, virtual production, music videos, pre-visualizations and advertising.

<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. VPLs are generally the basis of Low-code development platforms.

<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.

<i>Quake</i> engine Video game engine developed by id Software

The Quake engine is the game engine developed by id Software to power their 1996 video game Quake. It featured true 3D real-time rendering. Since 2012, it has been licensed under the terms of GNU General Public License v2.0 or later.

<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">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.

<span class="mw-page-title-main">LuxCoreRender</span> Open-source physically-based rendering engine

LuxCoreRender is a free and open-source physically based rendering software. It began as LuxRender in 2008 before changing its name to LuxCoreRender in 2017 as part of a project reboot. The LuxCoreRender software runs on Linux, Mac OS X, and Windows.

<span class="mw-page-title-main">Computer graphics (computer science)</span> Sub-field of computer science

Computer graphics is a sub-field of computer science which studies methods for digitally synthesizing and manipulating visual content. Although the term often refers to the study of three-dimensional computer graphics, it also encompasses two-dimensional graphics and image processing.

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.

<span class="mw-page-title-main">ORX</span> Game Engine

Orx is an open-source, portable, lightweight, plug-in-based, data-driven and easy to use 2D-oriented game engine written in C.

This is a glossary of terms relating to computer graphics.

<span class="mw-page-title-main">Physically based rendering</span> Computer graphics technique

Physically based rendering (PBR) is a computer graphics approach that seeks to render images in a way that models the lights and surfaces with optics in the real world. It is often referred to as "Physically Based Lighting" or "Physically Based Shading". Many PBR pipelines aim to achieve photorealism. Feasible and quick approximations of the bidirectional reflectance distribution function and rendering equation are of mathematical importance in this field. Photogrammetry may be used to help discover and encode accurate optical properties of materials. PBR principles may be implemented in real-time applications using Shaders or offline applications using ray tracing or path tracing.

<span class="mw-page-title-main">Cryptomatte</span> Open-source software by Psyop

Cryptomatte is an open-source software created by Jonah Friedman and Andy Jones at Psyop, but is also used synonymously for the specific style of image created by the software or other software working alike.

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 March 22, 2024
  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