Talk:What's New in 099

From TouchDesigner 099 Wiki
Rendering

099 brings rendering improvements in the form of physically based rendering (PBR). This is enabled through a number of new features starting with the PBR MAT. This new OP creates physically based materials from texture maps you assign to it. This works with any content pipeline whether you use Maya, Houdini, Unreal, Photoshop etc or allows you to use PBR texture libraries such as Quixel and Poliigon.

To take this a step further, there is also tight integration with Substance Designer through the new Substance TOP. Allegorithmic's Substance Designer is a great material creation package that is also node-based, we really like it! The new TOP will load materials (.sbsar files) saved out from Substance and give TouchDesigner users access to all the parametric settings of the material inside TouchDesigner. No going back and forth to re-export textures and re-load in TD, all the parameters for the procedural PBR material are available in TouchDesigner and the materials update on the fly.

A new Environment Light Component adds environment lighting which makes the PBR materials look more realistic in their scene.

VR

To get you started with VR in TouchDesigner we have released the HTC Vive Development Environment. This provides you with a .toe file to start your VR project with and full documentation of the system and tips for using it. This system also lets you author your project while inside the VR world through a virtual TouchDesigner workstation. Edit and create without having to take off the HMD for every creative impulse.

This environment takes advantage of new features added to TouchDesigner for higher performance when working with VR. Pascal-class Nvidia and recent AMD GPUs can now so simultaneous multi-projection rendering allowing both eyes (or more cameras) to be rendered in 1 pass, significantly improving performance.

This allowed for the introduction of multi-view render picking. Render picking lets you select and interact with 3D objects in the VR world. For example, both controllers have a "ray-pointer" that lets you pick things to act on. Multi-view picking (through multi-projection rendering) lets multiple render picks also occur in 1 pass giving you more performance for complex setups with lots of world interactions. Picking is also improved by reporting custom attributes from your picked geometry and the Point SOP and Vertex SOP have additional support for more custom attributes to boot.

  • Simultaneous Multi-Projection Pascal Nvidia GPUs and recent AMD GPUs and Nvidia Stereo View Rendering
  • Render Pick DAT New features for multi-view picking - Now supports doing more picks in a single render pass on using Multi-Camera Rendering.
  • Render Picking Improvements - Point SOP and Vertex SOP custom attributes
  • HTC Vive Development Environment
Compositing

TOPs are the graphical powerhouse of any TouchDesigner system. A GPU-based, high-resolution, realtime compositing system that is a joy to experiment and explore ideas with. One of the favorite TOPs in most people's toolbox is the Noise TOP. The Noise TOP has long had 3D noise functions, but now using a new 2nd input you can do a lookup into any position in the 3D Noise space. The RGB values of the 2nd input are used as UVW coordinates into the 3D Noise space, saving you from writing a GLSL shader to do this kind of lookup.

Color correction and color space tools have been improved. A number of new pixel formats such as 8-bit sRGB encoding and a number of special mono and alpha format have been added. As well, the OpenColorIO TOP utilizes the OpenColorIO library to apply transforms and 3D lookups for advanced color grading.

VR, mapping, stitching, dome work, environment lights, and many more parts of a pipeline rely on the projection format of the images. Now the Cube Map TOP, Projection TOP, and Render TOP all support more formats to help easily convert to whatever is needed. Cube Map, Equirectangular, Fish-Eye, and Dual Paraboloid are all as easy to access as setting a single parameter.

On Windows, a new method of screen grabbing allows for super-fast capture even at high resolutions. THe Screen Grab TOP now has the performance to try a bunch of interesting new uses. For those interested in distributing video between TouchDesigner processes, the Touch Out TOP can now connect to multiple Touch In TOPs at the same time and also support HAP Q Alpha if you need an alpha channel.

Web

The Web DAT and WebSocket DAT have been a part of TouchDesigner for some time, letting you reach out into the internet to access and interact with the vastness of the net. To make it easier to get started, we have introduced a pre-built Threaded Web Server Component to access APIs like Twitter, Instagram, or any other similar service.

A new addition to the web toolset is the Web Render TOP. This lets you render a webpage and use it inside your TouchDesigner project! Furthermore, we've released a basic Web COMP example showing how to make a web browser with webpage interaction within a control panel inside TouchDesigner. This opens a myriad of possibilities for everything from HTML5 built control panels to customer web server interfaces that can be embedded into TouchDesigner projects.

Device Support

Device support has been improved across the board. Those using DMX or working with LEDs will be thrilled that the DMX Out CHOP now supports sACN devices and multi-cast! This will allow many more devices to be used and with much higher numbers of channels/samples.

Camera, Cameras, Cameras!!! Native SDK support for Point Grey, Bluefish444, and AJA has been added. Bluefish and AJA can support 4K input capture and output. The help development with camera devices the Info CHOP now reports more information such as capture_fps, capture_total, frames_repeated, frames_dropped, and connection_changes. RealSense support has been improved to work with the SR300 camera and adds segmented color image and person tracking features.

The new BlackTrax CHOP gets data from BlackTrax Motion Tracking systems into TouchDesigner.

MIDI Devices can not be connected after TouchDesigner has started, as well, can be disconnected and reconnected without the need to restart the TouchDesigner project. This is sure to help in many live performance emergencies! When developing, the new deviceChanges() callback in the Execute DAT can monitor when devices/cameras/MIDI controllers are connected or disconnected. This will let you take appropriate actions in your TouchDesigner application.

Finally, many key SDKs were updated to the latest versions; Blackmagic, Point Grey FlyCapture, Oculus, OpenVR and more.

  • sACN multicast support and DMX improvements
  • RealSense support added for SR300 camera, segmented color image, person tracking.
  • Video Device In TOP native SDK support added for Point Grey, Bluefish444, AJA
  • BlackTrax CHOP - http://blacktrax.cast-soft.com/
  • 4K Bluefish, Point Grey Spinnaker API/SDK
  • New channels reported in the Info CHOP - capture_fps, capture_total, frames_repeated, frames_dropped, connection_changes
  • devicesChange() callback in Execute DAT
  • MIDI Devices connect/re-connect
  • SDK updates for Blackmagic, Point Grey FlyCapture, Oculus, OpenVR to 1.0.3
Panels and Windows

Many displays produced these days are hi-DPI high resolution monitors. To help TouchDesigner be more compatible with these displays the user interface now scales with the Windows Display Setting Change the size of text, apps, and items. This should help keep the user interface usable instead of dealing with ultra-tiny text.

The Window COMP also not has potions for output to the DPI-scaled size of the display or the native resolution pixels of the display, depending on the requirements.

Panel Components have had a complete parameter overhaul. Along with re-organizating and clarifying parameter names, new features have been added to allow designing UIs with proportional anchors, fixed aspect ratios, or stretchable components more easily. Many approaches that used to require parameter expressions and lots of math can now simply be done with parameter settings.

A new panel type called the Parameter COMP will grab your favorite parameter(s) from any OP for you to use in your interfaces. If you don't want to design your own UIs from scratch but want to give your project access to parameters various nodes deep in your networks, this Parameter COMP is for you!

  • High-DPI Window COMP and scalable user interface
  • New Anchors, Aspect, and Fill modes when working with Panels, new panelCOMP members to work with.
  • Parameter COMP
Scripting and Programming

An update to Python 3.5 has enabled the use of OpenCV in TouchDesigner, check out our openCV examples. To make life even easier, the numpy library is now included in the TouchDesigner installation so you can use numpy anywhere in TouchDesigner without have to pre-install it.

If you are a fan of openFrameworks, check out the openFrameworks page for examples and a walk-through of how to get stared.

The CUDA TOP is being removed and instead CUDA support have been added to the C++ TOP. This gains the benefit of the C++ TOP's newer features like automatic Custom Parameter generation and makes it easier to maintain going forward.

GLSL support has been updated to the latest versions and the GLSL TOP now supports compute shaders.

Palette and Workflow

The Palette is collection of tools and examples that continues to grow. Many are new additions in 099, but the older components have also received updates and new controls through custom parameters. Check out this library of useful tools and techniques.

Many workflows involving LEDs, lasers, and DMX devices use sample-based workflows in TouchDesigner. To this end there are new tools to help working with samples. The Splice CHOP lets you trim, splice, and stretch samples of its 2nd input into the channel of its first input, all in one CHOP. This is useful for inserting or manipulating specific values in place of specific samples in a channel, great for controlling LED colors or laser on/off states. Additionally, the Delete CHOP now has a page to control deletion of samples to make cutting data out of a channel easier. The Trim CHOP and Stretch CHOP also now use samples as their default parameter units.

Pro users now have the ability to lock their components and make them private. This might be needed if the author wants to protect their IP or wants to lock out certain networks to ensure no tampering with certain parts of a system. It could also be used to help protect components that are for sale to keep the contents secure.

For those creating weird and wonderful geometry in TouchDesigner, you can now export geometry in any SOP as FBX files to use in other 3D packages.

Some other new touches to make life easier; improved CHOP exporting to reduce the chance of annoying export conflicts, please give CHOP exporting another chance; clone parameters are now easier to use; the Replicator COMP now has an 'increment' parameter to control the pace of replication per frame to avoid stalls or frame drops; and last but certainly not least, numbered .toe files can now be saved to a Backup folder to keep your project folder nice and tidy.

  • List of Palette changes
  • Sample Based workflows - Splice CHOP, Delete CHOP, Reorder CHOP/Shuffle
  • Component Privacy to lock your components
  • FBX export from SOPs
  • Improved CHOP Exporting so no conflicts
  • Replicator increment and Clone 'enable' make easier to use
  • Saving backups to a folder
Operators

Other new operators of note

Other Stuff
  • Dante (new wiki page)
  • Kantan2
  • OpenCV 3.2 w python, and soon TOP->OpenCV->TOP
  • CUDA 8 and now running within a C++ TOP where you can add custom parameters to drive your CUDA.
  • Chromium
  • Web server
  • multi-projection fisheye+cube+equirectangular, all with multi-picking
  • multi-camera renders
  • BlackTrax
  • Ableton Sync (tentative)
  • 20% faster (not in first release I think)
  • PBR
  • Substance
  • protected components
  • LED DMX more protocols - easier techniques (where is docced?) and SaCN ... Artnet2?