From TouchDesigner 099 Wiki
Rendering and Compositing
composite HD video at 60fps
- Realtime GPU-accelerated compositing and rendering with TOPs (Texture Operators)
- Multi-pass rendering
- Pixel format support for 8-bit color RGBA channels up to 32-bit floating point channels and HDR shaders
- User programmable GLSL 3.30 pixel and vertex shaders for custom image operations, materials, and shaders
- Support for 3D textures and 2D texture arrays and multi-layer textures
- Support for 10-bit color displays
- Materials and shaders integrated with TOPs compositing engine
- Multi-frame image blending, time-based image blending
Groundbreaking Workflow and Scalable Architecture
- WYSIWID (What You See Is What It's Doing) - Industry-defining interactive authoring environment lets you visualize your data as you work.
- All nodes (Operators) include interactive viewers displaying the node's effect as data flows through it.
- Modular networks (Components) make it easy to encapsulate work.
- Share and reuse components freely between projects, create asset libraries.
- Scalable architecture makes sure you never out grow TouchDesigner. High-performance engine scales with hardware.
- Server-Client networks, Replicators, and Clones are just some of the tools available to help scale projects into large systems.
- Project-proven stability with hundreds of thousands of nodes, thousands of channels, hundreds of movies, heavy 3D geometry data.
- Performance analysis tools (CPU, GPU, memory) give detailed feedback for optimization and performance tuning.
Video and Audio In/Out
- Read QuickTime, H.264, .mp4, .wmv, .avi, .mpg, .tif, .jpg, .gif, .psd, .flv, .swf, .rla, and many more File Types
- Hap and Cineform (Pro Only) codecs decoding for the highest quality video at resolutions up to 4K
- Video inputs from multiple USB/Firewire cameras, webcams, and HD capture cards (Blackmagic Design, Datapath, NVIDIA)
- Export to QuickTime movie formats (with audio), realtime encoding using H.264 (Commercial and Pro)
- Outputs any combination of images to multiple displays
- Simultaneous playback, mixing, and triggering of multiple audio and video sources
- MIDI and OSC in and out
- ASIO audio for low latency performance and support of professional audio devices
- Use any custom resolution the GPU hardware supports
- Any combination of outputs to multiple displays using multiple GPUs or across multiple machines
- Hardware Framelock support for NVIDIA Quadro Sync and AMD S400 cards keeps GPUs in perfect sync
- GPU Affinity support for optimizing the amount of work done by each GPU
Animation and Control Channels
- Animation Editor and Animation Component provide flexible keyframing and playback control
- Time Slicing technology improves realtime motion smoothness
- Motion clip blending and sequencing system for full character/animation control (Pro)
- Triggers, constraints, overrides, connect any control channel to any parameter
Custom Control Panels and Application Building
- Build your own control panels in 2D and 3D
- Use sliders, buttons, text fields, containers, 3D objects as your panel building blocks
- Easy to access panel states; momentary, toggle, radio, UV-position, drag-out, rollover, etc
- Full customization to panel appearance and logic
- Ready-to-use UI gadgets included in the TUIK library, lets you build control panels using simply drag-n-drop
3D Engine and Tools
- Import geometry and scenes using FBX file format from Maya, 3DS Max, Houdini and others
- Node-based procedural modeling (using Academy-award-winning SOPs)
- Support for polygons, meshes, NURBS, Beziers, subdivision surfaces
- Integrated particle system with sprite rendering
- Realtime GPU-based GLSL deformations and bone-weighted deformations for characters
- Basic 3D modeler
Device and Software Interoperability
- Support for various communication protocols (TCPIP, UDP, UDT, OSC, MIDI, and more...)
- Ableton Live Sync component hooks directly to Ableton Live for show control and triggering of sequences
- C++ CHOP and C++ TOP let you create your own custom operators in TouchDesigner using C++
- DMX In CHOP and DMX Out CHOP with full support for Art-Net and sACN protocols.
- Serial support for communication with Arduino, GPIO, virtual serial ports, and other RS-232 enabled devices
- Shared Memory access with other applications (like ARToolkit)
- Import geometry from other 3D package using FBX format
- Retrieve any HTML or XML via URL and procedurally parse, extract, and filter the data
Scripting and Programming
- Python 3.5 is the default scripting language
- Scripts can be triggered by logic states, user interaction, and a multitude of internal and external events
- Tables as text arrays for managing large amounts of project data
- Integrated text and scripts in DATs, no external files required
- Unique procedurally-generated data tables reduce the need for scripting
- Native support for programs written for CUDA on GPUs, NVIDIA's parallel-computing environment