TouchDesigner

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.

TouchDesigner
Developer(s)Derivative
Operating systemWindows, macOS
Type3D computer graphics
Websitederivative.ca

History

Greg Hermanovic, Rob Bairos, and Jarrett Smith founded the Canadian company Derivative.[1] 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. Finally in 2008 Derivative released a beta version of the platform as TouchDesigner 077, a rewrite of its previous versions that incorporates a fully procedural OpenGL compositing and effects pipeline.[2]

Features

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

  • Rendering and Compositing
  • Workflow and Scalable Architecture
  • Video and Audio In / Out
  • Multi-Display Support
  • Video Mapping
  • Animation and Control Channels
  • Custom Control Panels and Application Building
  • 3D Engine and Tools
  • Device and Software Interoperability
  • Scripting and Programming

Operators

Operators are the building blocks in a TouchDesigner project.[4] These objects are represented as Nodes in the user interface and are connected in order 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 - Components represent 3D objects, panel components, and other various operators. These components can house entire networks of other operators.
  • TOP - Texture Operators handle all 2D image operations.
  • CHOP - Channel Operators are used for motion, audio, animation, and control signals.
  • SOP - Surface Operators are the native 3D objects of TouchDesigner responsible for 3D points, polygons, and other 3D "primitives"
  • MAT - Materials are used for applying materials and shaders to the 3D rendering pipeline.
  • DAT - Data Operators are for ASCII text as plain text, scripts, XML, and tables.

COMP

Component operators differ from other operators in the TouchDesigner family as they are capable of holding networks of other operators. These components encompass both 3D objects and interactive panel elements used when designing interfaces in TouchDesigner. Components also support the use of in and out connections, allowing them to act as modular components across projects.[5]

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.[6]

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

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.[8] 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.[9]

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.[10]

Notes

  1. https://docs.derivative.ca/TouchDesigner TouchDesigner Wiki, Retrieved October 26, 2016
  2. https://docs.derivative.ca/TouchDesigner TouchDesigner Wiki, Retrieved October 26, 2016
  3. https://www.derivative.ca/wiki099old/index.php?title=Features Features list from TouchDesigner Wiki, Retrieved October 26, 2016
  4. https://docs.derivative.ca/Operator Operator from the TouchDesigner Wiki, Retrieved October 26, 2016
  5. https://docs.derivative.ca/Component About Components from the TouchDesigner Wiki, Retrieved October 26, 2016
  6. https://docs.derivative.ca/TOP About TOPs from the TouchDesigner Wiki, Retrieved October 26, 2016
  7. https://docs.derivative.ca/CHOP About CHOPs from the TouchDesigner Wiki, Retrieved October 26, 2016
  8. https://docs.derivative.ca/SOP About SOPs from the TouchDesigner Wiki, Retrieved October 26, 2016
  9. https://docs.derivative.ca/MAT About MATs from the TouchDesigner Wiki, Retrieved October 26, 2016
  10. https://docs.derivative.ca/DAT About DATs from the TouchDesigner Wiki, Retrieved October 26, 2016
gollark: Fork, I mean.
gollark: <@319753218592866315> <@!491174779278065689> What is the current maintained version of discord·py?
gollark: Oh. Version mismatch.
gollark: Yes, but I have aiohttp.
gollark: Oh no, why is Discord.py trying to compile its own AIOHTTP now?
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.