Extending TouchDesigner using C++ to build your own operators has always been a powerful way to extend TouchDesigner. With the addition of a C++ DAT there is now a way to create a custom operator plugin for any family, TOP, CHOP, SOP, or DAT.
We are also excited to announce that C++ operators now run on all license types including Non-Commercial. We hope this will reduce the barriers to trying TouchDesigner for any C++ programmers or those using openCV and openFrameworks, and let beginners and gurus alike try the fabulous C++ plugins people have shared.
When removing the license limitations for C++ plugins, we wanted to encourage their widespread use by everyone and asked, "How can this be better and easier to use?". In short order, Custom OPs were born! Custom OPs have a new API allowing them to act like regular built-in TouchDesigner operators. These OPs can have their own custom names and now show up in the OP Create Dialog under a new 'Custom' tab. Any Custom OP plugin now looks, feels, and behaves like a built-in operator making them easier to use and share.
Webpage rendering in TouchDesigner has proved extremely useful since introduced last year. Now everyone who uses Touch can use the Web Render TOP as it is finally supported for macOS and works with any license including Non-Commercial!
NDI is a great way to transfer video accross ethernet to other computers and devices, we see many of you utilizing it in your projects in a variety of ways. To enable transfer of audio alongside a NDI video stream, there is an Audio NDI CHOP to receive audio from a NDI In TOP and the ability to send audio output via the NDI Out TOP.
To further improve NDI support, a new NDI DAT can list all NDI sources found on the network. It includes a callbacks DAT to trigger custom scripts on events such as NDI sources appearing and disappear or a stream starting and stopping.
For high-end AJA capture cards, there is now support for external reference sync input and using the 'failsafe' features on AJA Corvid 24 devices. Support was also extended to include the new AJA Kona HDMI.
Those using Blackmagic Design cards will find a new GPU Direct option for higher bandwidth. This also enables support of the new Blackmagic 8K Pro.
|05.FBX & USD GEOMETRY SUPPORT|
The new FBX COMP and USD COMP tackle importing Autodesk's FBX and Pixar's USD (Universal Scene Description) geometry respectively. Both import geometry and create an internal network structure that is editable and customizable. You can make edits to your geometry network and update the assets without wiping out your customizations. Furthermore, the included callbacks DAT allows modification of the network structure and final scene at the time of import, giving the tools to fix buggy assets, swap textures, add attributes and more.
Animations are handled on the 'Play' page of parameters, presenting familiar playback controls similar to the Movie File In TOP and Animation COMP. The new trio of Import Select TOP, Import Select CHOP, and Import Select SOP can select texture, animation, and geometry mesh assets out of the FBX or USD file for use anywhere in your networks.
|06.RENDERING, MATERIALS & LIGHTING|
Nvidia Flow is supported through 2 new operators. The Nvidia Flow Emitter COMP is an emitter which controls the amount of fuel injected into the system and sets burn temperature and amount of smoke. It also contains the material settings elements of the simulation such as burn, smoke, temp, and fuel. Running the simulation and rendering the result is the job of the new Nvidia Flow TOP. Settings for the simulation here include damping and fading, vorticity, and burn control for each step of the simulation.
The Line MAT is an exciting new material that provides constant shading of lines with depth rolloff and color controls. It can provide smooth crisp lines with fine controls over line width and color. Additionally it gives numerous options for drawing points and end points, drawing vectors and arrows, line joint types, cap options, and more.
Another great new feature in the Phong MAT and PBR MAT is true displacement mapping. A Displace Vertices option will displace vertex positions using a Height Map that can be specified from any TOP. Speaking of PBR, the Substance TOP which loads materials from Substance Designer has been updated to the latest SDK which now supports 4K PBR textures.
A new rendering feature called Quad Reprojection has been added to the Camera COMP. This allows an arbitrary section of a render, as defined by 4 points from a SOP, to be reprojected to fill the final output resulting in a full-resolution render for that sub-region.
To help with all your projection and mapping needs, we've added the following features. The Light COMP can now project an equirectangular texture out in all directions from the light's position using a new Point (Equirectangular) projection map type. The Render TOP can now be set to render only a few faces of a cube map reducing the rendering overhead when all 6 sides are not required. The Render TOP also gained a UV Unwrap mode to render 'unwrapped', letting you manipulate textures and then rewrap them onto your geometry for use in projection mapping setups.
|07.TOPS & CHOPS & DATS|
The Movie File Out TOP has been improved and now has an output type for creating Stop-Frame Movies. The movie output option also lets you create .gif files now.
Finally the Speed CHOP, Spring CHOP, and Slope CHOP all got a Per Sample option to operate on samples instead of channels, the Shuffle CHOP is no longer needed to shuffle and then un-shuffle!
A couple of useful new DATs can be found in the OP Create Dialog. The Lookup DAT will lookup values between a DAT and a lookup table, we're sure this will become as handy as the Lookup CHOP and Lookup TOP have been. You will also find the Parameter DAT useful for getting parameter information from any OP, especially for parameters whose values are strings.
Better multi-NIC support has been added to all operators that use the network by setting a specific IP to listen to using new Local Address parameters.
Offline documentation is now included with the TouchDesigner installation. When there is no internet connection available, help buttons will automatically use the offline help.
Parameter Rollover Help pops up in the parameter dialog by just holding down the 'alt' key (or 'option' on macOS) while you rollover a parameter's name!
Operator Snippets have dozens of new examples for you to explore.
For better file management, CrashAutoSave.toe files are now suffixed with the project's filename and the default preference for filename incrementing is now On and Save to Backup Folder.
Search External Python Path Last in the Preference Dialog gives control over the order custom python module paths are searched, either before or after TouchDesigner's builtin modules.
Python Custom Parameters and the ability to evaluate them as PyObjects.
For working with Custom Operators, they now have the ability to create Python paramemters using appendPython() and can evaluate a Python parameter directly into a PyObject for use with Python's C API using getParPython().
Page Class Page.appendPar(name, par=Par) Create a custom parameter matching the specified parameter as closely as possible.
The DAT Class received some well-deserved love.
Color Class - Added tdu.Color class which holds a single 4 component color (R, G, B, A).
Prim Class - Added Prim.direction which returns a normalized vector pointing from the centroid of the SOP to the centroid of the primitive.
SOP Class - Added support for SOP.center, reutrning the center of the SOP.
Wave CHOP - Added much requested support for .chanIndex and .sampleIndex
|11.CONTENT & TOOL UPDATES|