Talk:Features
From Wiki077
Procedural Architecture
- Operator node Families - images (TOPs), channels, control, audio (CHOPs), surfaces (SOPs), text data and scripts (DATs), containers, gadgets, 3D objects (Components), materials (MATs)
- data flow through nodes via Wires and Links. realtime cooking engine
- Parameters of nodes
- Path hierarchy to embed components in other components
Authoring in TouchDesigner's Network Editor
- visualize your data going through TouchDesigner networks with powerful interactive Viewers on all nodes
- WYSIWID interface - what you see is what it's doing
- zoomable user interface
- mixed nodes - any combination of Operator types in a network - mix CHOPs with TOPs and SOPs, enabling tighter “in-the-zone” workflow
- edit multiple Operators’ parameters simultaneously
- drag-drop external files into network workspace including all media files and components (.tox files)
Image Manipulation and Compositing
- realtime GPU-accelerated compositer with image effects (TOPs)
- over 70 types of image processing operations
- TOP compositing system multi-purpose - used for preparing textures of 3D renders, building control panels, compositing output movies
- many Pixel Formats from 8-bit color RGBA to 32-bit floating point color channels
- truly mixed 2D and 3D - apply 2D FX to a 3D render and composite with other 2D and 3D layers
- streaming and compositing high definition multi-layer movies from disk in realtime
- smooth video input from multiple cameras – HD-SDI capture cards, USB and FireWire cameras, webcams, TV tuner cards, supports most capture cards
- machine-to-machine movie streams - from one TouchDesigner process to another TouchDesigner process on another computer at realtime speeds in high resolution using gigabit Ethernet
- multi-frame image blending, feedback, color correction, blurs, time-warps
- all renders and composites off-screen at any resolution and can do multiple realtime 3D renders in one frame
- video file formats - reads QuickTime, H.264, .wmv, .mpg, .tif, .jpg, .flv, .avi, .rla, .swf, .mp4, .gif, .psd
- renders text with all TrueType fonts
- movie output with audio to MP4 and QuickTime movie formats, including realtime H.264 encoding, plus still images and sequences
- playback of multiple HD movie streams in realtime
- outputs any combination of images to multiple displays
- user-programmable image operations with GLSL pixel shaders, geometry shaders and vertex shaders
- new materials and shaders system (MATs) integrated with TOPs (bump, multi-layer, displacement, reflections, etc)
- C++ and Shared Memory TOPs allows you to write operators that access images and data in other tools and devices
- HDR High Dynamic Range support
- support for 10-bit color display monitors
- resolutions up to 1280x1024 (unlimited in Pro version). mixed resolutions, adaptive animated resolutions
- OpenCV and blob tracking
- Cineform support
- HD-SDI support
Modular Node Architecture: Components
- Components hold a network of OPs, so you can encapsulate objects, scenes, effects, control panels and presets.
- Components contain any combination of TOPs, CHOPs, SOPs, DATs objects, and materials
- Components allow any combination of inputs and outputs - TOPs, CHOPs, etc.
- Control Panel components
- easy to share, easy to experiment - save out a Component to a .tox file for easy sharing with other users/projects
- panel components can include a UI control panel or a full interactive 3D rendered scene
- every component can have its own Timeline
- Palettes of components are libraries of components from Derivative and user community - movie bins, image blender with 25+ blend modes, media player
- easy to share, experiment with & re-purpose components (via .tox files)
Interface Design and Control Panels
- control panels and custom user interfaces made with open-design Container, Slider, Button, Text Fields components
- easy to access gadget states via Panel Values: momentary, toggle, radio buttons, drag out, UV, disabling, etc
- fully programmable gadget logic and appearance - buttons are programmable, rollover triggering, flexible panel layouts
- TUIK is a ready-to-use family of user interface gadgets prepared by Derivative - much of TouchDesigner's ser interface is made in TUIK
- 3D interactive gadgets - Render Pick technology
- use movies and motion graphics for UI gadgets
- click, vclick, Multi-touch
- TUIO
- UIg
3D Surfaces and Geometry (SOPs)
- imports 3D models and scenes via FBX from Maya, 3DS MAX, Houdini and others
- polygons, meshes, NURBS, beziers, metaballs, subdivision surfaces
- node-based procedural modeling (Academy-Award-winning SOPs)
- GPU-based bone-weighted deformations for characters
- L-Sytems
- Metaballs
- UV texture mapping methods
- simple 3D modeler
3D Rendering
- materials and shaders system (MATs) integrated with TOPs compositing engine
- Phong super-shader material supports soft-edge cone lights, rim lights, fog, alpha blends and multi-layer textures, bumps, displacements, reflections, transparency, darkness, emission
- real-time rendering of 3D scenes, including multi-pass rendering
- anti-aliasing
- 3D Textures and 2D texture arrays
- real-time depth shadows
- GLSL pixel shaders, vertex shaders, and geometry shaders
- deformations in programmable GLSL vertex shaders
- integrated particle system with sprite rendering
- 2D fully integrated with 3D - apply 2D effects to a 3D render and composite with other 2D and 3D layers
- 3D picking from any Render viewer gives access to all scene information, usable in 2D gadgets
- Cube Map renders for full 360 degree coverage
- Geometry Instancing
- HDR, .dds
- Depth-Peeling rendering
- SSAO TOP screen-space ambient occlusion
- Mental Mill shader compatibility
Motion and Control Channels (CHOPs)
- 120+ motion Channel Operator (CHOP) types
- Keyframe Editor (Animation Editor) and Keyframe Component provide flexible real-time keyframing system
- OSC (Open Sound Control) in and out
- interoperable with Ableton Live
- CHOP channels can be exported to (drive) parameters
- MIDI in and out
- Time Slicing technology keep data and video smooth even when the system is heavily taxed or intermittently loaded.
- LFOs and Oscillators
- motion clip blending and sequencing system for full show control (Pro version only)
- live motion channels can be recorded into the Record CHOP
- Joystick and uSoft controllers. Keyboard/mouse
- inverse kinematics can drive 3D objects
- C++ and Shared Memory operators let you customize input and output devices for your computer
Audio
- audio from devices
- playback audio file, mixing, and triggering audio
- play audio from movie files
- output audio to QuickTime movies
- audio envelopes, frequency spectrum analysis, and filters
- voice sync
Inputs, Outputs and Networking
- Network Protocols - UDP, TCP/IP, UDT, Serial
- Arduino Serial Device Interface and other serial port character streams and numeric data in/out* output renders to movie files or still images
- OSC in/out (TouchDesigner-to-Audio apps), Touch In/Out (for TouchDesigner-to-TouchDesigner)
- live Video In – support for multiple cameras – HD, FireWire, DV cameras and inputs, USB cameras and webcams
- special SDI video in and out
- shared memory with other applications like ARToolkit
- networked movie streams - from one TouchDesigner process to a process on another computer, real-time frame rates at hi-resolution over gigabit Ethernet
CUDA - GPU Parallel Processing
- TouchDesigner supports programs written for CUDA on GPUs, NVIDIA's parallel-computing environment
Procedural Scripting, Tables and String Arrays (DATs)
- DATs – Data Operators can be used to hold any text data – raw ascii, scripts, etc or table data such as spreadsheets, csv files, etc.
- DATs that execute short scripts when events happen in control panels, data flowing into TD, …
- DATs are used for building UI, scripting, table management, variables, macros, HTML access, XML parsing, expression evaluation, ramps for the Ramp TOP and even for generating 3D in SOPs
- concise scripting and expression language
- scripts can be triggered by user interface events and internal/external states
- tables as text arrays for managing large amounts of project data
- unique procedurally-generated data tables reduce need for scripting
- retrieve any HTML or XML via http:// addresses via Web DAT
- procedurally parse, extract, and filter XML data
- Macros and Variables
Robustness and Production-Proven - Scaling to Large Projects
- rich image data visualization while authoring
- "Clones" and "Immunity" scale projects to large systems
- Replicator for mass-production with customization
- Performance Monitoring - performance analysis tools monitor highly tuned realtime performance - detailed Performance Monitor, memory usage analysis tools, moviedump, Info CHOP, Perform CHOP, optimization tools
- "Time Slicing" technology keeps motion and video smooth even when the system is heavily taxed or intermittently overloaded
- streaming and comping hi-def multi-layer movies from disk in real-time
- set up and sequence a complete live show with Clip Blender (Pro version only)
- images and all data files can be accessed anywhere on web via http URL addressing
- Support for multiple monitors
- support for multiple graphics cards and multiple TouchDesigner processes
- channel operators (CHOPs) can handle thousands of channels at a time
- Multi-display window management
- Load-on-demand
- Virtual File System (VFS) to embed media inside components
- Monitor and window creation and control
- HD-SDI in and out
- Expert Mode
Playing your Custom Applications
- can start up TouchDesigner in an interactive end-user "perform" mode
- TouchPlayer plays your app standalone
Tools
- Kantan Mapper for projection masking and mapping
- TouchDesigner Remote
