- 1 Official Build - 2018.20000 Series
- 1.1 New Features
- 1.2 New Python
- 1.3 New Palette
- 1.4 Bug Fixes and Improvements
- 1.5 Backwards Compatibility
Official Build - 2018.20000 Series
Major New Additions
Nvidia Flow Support
- Light COMP - Added 'Projection Map Type' parameter that allows selecting a new 'Point (Equirectangular)' projection type. This will project an equirectangular texture out in all directions from the light's position.
- USD COMP - Added "Generate Actor COMPs" parameter which generates Actor COMPs instead of Geometry COMPs in the USD network for use with Bullet Solver COMP.
- Field COMP - Added parameters for total digits, decimal digits and trailing zeroes to handle float and integer fields. Floating values will rounded to the number of decimal digits.
- [Nvidia Flow TOP]]
- RealSense TOP - Added support for RealSense D435i.
- Video Device Out TOP - Added support for external reference sync input for AJA devices.
- OpenVR CHOP - New Info DAT information which contains the serial numbers for controllers. This offers a reliable way to have the same controller be used for the same action regardless of when they become visible to the system.
- Art-Net DAT - Added local address parameters that allow for specification of which network card the ArtPoll packet is sent from.
Interface - UI
- Added Python custom parameters and ability to evaluate them as PyObjects. Futhermore;
- Widgets - Widget kit
- Added UI/Basic Widgets/Tools/autoUI.tox
Bug Fixes and Improvements
COMPs - Components
- FBX COMP / USD COMP - Added 'Reload File' pulse that simply reloads any assets from the file (making no changes to the network inside the COMP).
- Panel Alignment 'Max Per Line' now takes into consideration the widths and heights of all the children to work better with Fill Mode.
- Parameter help now shown for disabled parameters (alt+rollover).
- Fixed issue with Select COMPs causing unncessary cooking.
- GLSL TOP - Fixed bug where sometimes the uTD* uniforms wouldn't have correct values, uTDOutputInfo.res for example.
- Text TOP - Fixed unicode text sometimes being spaced incorrectly when using Polygon or Mipmapped Texture modes.
- Text TOP - Fixed bug where text would not show up using Mipmapped Texture mode.
- Web Render TOP - Fixed excessive CPU usage on macOS.
- RealSense TOP - Fixed crash when using Windows SDK API.
CHOPs - Channels
- Timer CHOP's Cue and goTo() method now supported when 'Segment Method' is set to Parallel Timers.
- Render Pick CHOP - Added queue parameters.
- Audio NDI CHOP - Fixed some issues with audio playback. Crackles, static and lost data.
- TOP to CHOP - Fixed bug where connecting an input wouldn't always re-sample the image at the specified input UVs.
- Parameter CHOP/Parameter DAT - Added drop-down menu for selecting the parameters.
- Copy SOP - Fixed excessive cooking that could sometimes occur when fetching stamp parameters.
- Point SOP - Fixed crash that can occur if the 2nd input doesn't have the same attributes as the first input and is referenced using one of the pointSOP Class members.
- CHOP Execute DAT - Will now execute earlier in the frame, trying to do their operations before other nodes that rely on their scripts cook.
- OSC In CHOP / OSC In DAT / UDP In DAT / EtherDream DAT - Added a local address parameter to only listen on a specific IP. Great for working with multiple network interface controllers (NICs).
- Custom Operators - Adding a /Plugins directory next to the .toe file that will also be searched for custom operators. This allows projects to move more easily between machines that do not have the custom OPs installed, and helps manage project-based custom OPs more easily for deployment.
- Initialize CUDA for any C++/Custom OP, just in case it ends up using it internally.
- Fixed broken cube map transformation.
- Fixed loading of .csv files ending with a sequence of commas.
- Fixed crash when trying to load external .tox files.
- Fixed issue where Custom OP parameter dialogs sometimes load empty or unresponsive.
- Fixed a number of geometry file type associations on macOS.
- Faster file saving when saving with Dongle Privacy.
- Private .toe file access expanded.
- External Component inside private .toe can now be saved without the component becoming private.
- Toe file can be saved by python script (privacy maintained).
- Palette:kantanMapper - Improvements
- Palette:moviePlayer - Improvements
- Added option to enable/disable roller wheel zoom and mouse left/middle click/drag pan/zoom controls.
- Added 'Go Back to Previous Movie' pulse button parameter.
- movieEngine - Click/drag on image to scrub. Shift click/drag to scrub and pause. Middle click to pause/play.
- You can zoom into the movie image using (like in the network editor) the roller wheel, and left and middle buttons to pan/zoom. Zooming up-close, the pixels become discrete squares, and their values are displayed at the bottom right.
- Control Panel Always On - on by default now.
- Presets - Bug fixes and the folowing additions
- Update pulse not working on Presets Component
- Delete pulse not working on Presets Component
- Controls list container delete preset button width stretched
- Settings/bankParSettings initial rollover error from trying to access None type - caused by not yet stored previous values.
- Blend enabled for Presetblendtime par in parent in init when PresetsComp reinitialized after previously being initialized (these pars should be filtered so not to appear in the settings list)
- Pulse parameters disabled by default
- Created internal preset values DAT inspector.
- Added functionality for updating all presets in all banks when a parameter is added, removed or renamed on the target component. A confirm update dialog is created when a change is recognized. Also a pulse button has been added to the Setup page to manually update all presets with new or changed parameters. This is useful if a default value (other than the TD default value for the parameter type) for the new parameter for all the updated presets is wanted to be set. The workflow is as follows:
- Added new parameter(s)
- When confirm dialog opens and asks to update all presets, press cancel
- Set the value of the parameter
- Press Update All Presets button on Setup page and confirm.
- Now all previously stored presets will have the desired value(s) set in the new parameters.
disable both recall and blend of parameters with expressions by default on store of preset with expression in parameter filter target components "presets parameters" in settings list so they are not viewable or editable.
- Palette:probe component enhancements.
- Cook times of nodes that haven't cooked recently are better-reported.
- Can use mouse wheel to zoom large networks (but not go between networks yet).
- Palette:kantanMapper general bug fixes.
- Palette:camSchnappr bug fixes and improvements.
- Autoblend fixed.
- Autoblend can now be shown in preview output whereas previously the mask was not applied to this output.
- Added additional parameters for the Autoblend feature to control the blend curve via RGB gamma/luminance based on Paul Bourke's Edge Blending article from http://paulbourke.net/miscellaneous/edgeblend/
- BACKWARDS COMPABITIBILITY WARNING -
Each SOP has a list of Points. Each point has an XYZ 3D position value plus other optional attributes. Each polygon Primitive is defined by a vertex list, which is list of point numbers.
An Operator Family that creates, composites and modifies images, and reads/writes images and movies to/from files and the network. TOPs run on the graphics card's GPU.
A built-in panel in TouchDesigner that contains a library of components and media that can be dragged-dropped into a TouchDesigner network.
TOuch Environment file, the file type used by TouchDesigner to save your project.
Any of the procedural data operators. OPs do all the work in TouchDesigner. They "cook" and output data to other OPs, which ultimately result in new images, data and audio being generated. See Node.
A custom interactive control panel built within TouchDesigner. Panels are created using Panel Components whose look is created entirely with TOPs.
To pulse a parameter is to send it a signal from a CHOP or python or a mouse click that causes a new action to occur immediately. A pulse via python is via the
.pulse() function on a pulse-type parameter, such as Reset in a Speed CHOP. A pulse from a CHOP is typically a 0 to 1 to 0 signal in a channel.
To re-compute the output data of the Operators. An operator cooks when (1) its inputs change, (2) its Parameters change, (3) when the timeline moves forward in some cases, or (4) Scripting commands are run on the node. When the operator is a Gadget, it also cooks when a user interacts with it. When an operator cooks, it usually causes operators connected to its output to re-cook. When TouchDesigner draws the screen, it re-cooks all the necessary operators in all Networks, contributing to a frame's total "cook time".