Release Notes

From TouchDesigner 099 Wiki

Check out What's New for a summary of the new features in 099.

Contents

Build 2017.10940 - Jul 10, 2017

New Python

  • Par Class.cloneImmune - Controls whether or not the custom parameter attributes are matched to its Clone Master, if cloned.

Bug Fixes and Improvements

  • Fixed Container COMP clicking crash.
  • Fixed hang caused by closing the CHOP Exporter rename dialog with its "X" in the upper-right.
  • Fixed bug where custom parameters would be matched to Clone Master even if cloning was disabled.
  • Fixed issue with Update notification in the main menu.
  • Allow parameter dialogs in TouchPlayer, so Parameter COMP panels are displayed properly.
  • Geometry viewer grids now displayed with antialiased lines, and depth testing fixed for grid markers.

Build 2017.10700 - Jun 4, 2017

New Features

  • UDP Out DAT - Added option to specify the local port instead of it being automatically assigned by the operating system.
  • MQTT Client DAT additions.
    • Now provides 'connected' channel to Info CHOP.
    • Added 'msg' arguement to failure callbacks, which may be supplied by server.

New Palette

  • particlesGpu now has an input for external forces like output coming from opticalFlow component.
  • KantanMapper cleanup.

Bug Fixes and Improvements

  • Video Device In TOP - Fixed crash that can occur when selecting the BlueFish444 library.
  • Video Device In TOP - Better initial state when loaded on a system where the input configuration has changed but the original selected device is still present.
  • Video Device Out TOP - Added support for 1080p 23.98hz output for AJA devices.
  • Video Device Out TOP, Video Device In TOP - Blackmagic devices are enumerated in a more stable fashion now. Having two identical model Blackmagic devices in a system should work more reliably.
  • Select COMP - Internal justify, margin, crop texture, child offset, and fit parameters now get settings from source panel COMP.
  • List COMP - Fixed jerky and inaccurate scrolling/picking when fixed header different height than the rest of the rows.
  • Fixed issue where clones saved in older builds would load up empty when their master components had Enable = Off.
  • Fixed possible hang when disconnecting operators from component inputs.
  • Fixed Copy and Paste issue.


Backwards Compatibility Issues

  • BACKWARDS COMPATIBILITY WARNING - Get timeCOMP.loop results were swapped as they were backwards. This will effect any scripts that were working around it.

Build 2017.10000 - Jun 19, 2017

First 099 Official Build

New Palette

  • KantanMapper to palette.

Bug Fixes and Improvements

  • Fixed crashing and export issues with IK bone layout state.
  • Fixed crash when opening parameter menus in SOP modeler.
  • Fixed Composite TOP Preview Grid not working on Intel GPUs.
  • Fix flashing bug that can occur with floating viewers on macOS.
  • Updates to Feedback image filter component in the Palette.
  • Menus for network editor and operators cleaned up and reorganized.

Build 2017.7500 - Jun 13, 2017

New Features

  • Helios DAC CHOP - Control lasers using Helios DAC device.
  • MQTT Client DAT - Connected to MQTT brokers for IoT MQTT devices and streams.
  • Folder DAT - New parameter 'Async Update' to minimize cook times by having contents updated asynchronously to the cooking.
  • DAT Editing - If no Text Editor or Table Editor is specified in Edit > Preferences, then Edit Contents... will use the OS System default for the file extension type set on the DAT's Common parameter page. This allows for different external editors to be used for different file extensions.
  • DAT Save Contents... will use the file extension set on the DAT's Common parameter page in the Save Dialog that opens.

New Python

  • New options for errors and warnings
    • op.errors(recurse=False), op.warnings(recurse=False).
    • op.addError(msg), op.addWarning(msg).
    • op.scriptErrors(recurse=False), op.clearScriptErrors(recurse=False, error="*").

New Palette

  • opticalFlow example now in 32-bit.
  • webBrowser Component example added.

Bug Fixes and Improvements

  • New Help > OP Snippets example file with a new interface that makes it easier to browse examples.
  • Movie File In TOP - Fixed recent change that broke .bmp reading.
  • Box SOP 'Divisions' option now creates consistent point normals which can be used for noise offsets etc.
  • CPlusPlus TOP - Fixed error causing load up problems in older versions.
  • Resample CHOP - Fixed node viewer display sometimes not displaying multi-sample graph when multiple samples present.
  • Camera COMP and Light COMP - Fixed homing in the node viewer.
  • Event CHOP - No longer requires wired input since it can be driven through python calls: n.createEvent(), n.releaseEvent()
  • Folder DAT - Show warning when path is not a valid folder.

Backwards Compatibility Issues

  • BACKWARDS COMPATIBILITY WARNING - Deprecate op.error, op.warning and replace with op.errors(recurse=False), op.warnings(recurse=False).

Build 2017.7180 - Jun 05, 2017

New Python

  • td.evalStackInfo() returns formatted contents of current operator/parameter cook/evaluation stack.

New Palette

  • opticalFlow added to Tools folder in Palette.

Bug Fixes and Improvements

  • Folder DAT - Speed increase by moving some internal setup to separate thread.
  • DAT file extensions
    • DATs that come docked to GLSL OPs are now set to use .glsl extension.
    • Use the DAT's file extension setting when saving files.
  • OSC In CHOP / OSC Out CHOP - Stop cooking when Active turned off.
  • TOP to CHOP - Fixed bug where the CHOP would not update if the TOP only cooked for one frame.
  • MIDI Out CHOP - Don't give warning when device is blank.
  • Fixed docked In/Out OPs so they don't hide their connecting wires in the parent's network.
  • Fixed the Textport to load up with the DATs that were last displayed.

Build 2017.6800 - May 29, 2017

New Features

  • Ableton Link CHOP - New CHOP that allows joining an Ableton musical session synchronized using Ableton Link.
  • Change the file extension or add custom extensions for DATs in Common page. This will allow for proper syntax highlighting when using external editors. Also changed the default extension for DATs created with the GLSL TOPs/MATs.
  • Perform CHOP - New parameter for 'Perform Window Focus' which is true when Perform Mode window is open and it has focus.

New Python

  • App Class licensing options - Limits functionality as specified. Can be undone with same password. If password is blank limitation is permanent until application is terminated. Limit can be applied multiple times with different passwords.
    • app.addNonCommercialLimit(password) / app.removeNonCommercialLimit(password)
    • app.addResolutionLimit(x, y, password) / app.removeResolutionLimit(password)

Bug Fixes and Improvements

  • Adaptive Homing is now default on. It continually home the geometry in the viewer when its scale changes. This can be turned on/off in individual viewers via the right-click menu when the 3D viewer is active, or can be turned on/off globally in the Geometry tab of the Preference dialog.
  • Folder DAT - Doesn't collect file type, size, or date info when not displayed. Cuts down on cook time significantly.
  • SVG TOP supports VFS (embedded file) content now.
  • Video Stream In TOP - Fixed an issue which prevented some valid URLs from loading. so e.g. rtsp://111.111.111.111/usermovie.mov is correctly identified as a streaming URL
  • Phong MAT - Fixed issue with Rim Map and Strength Ramps being broken.
  • Render Pass TOP - Fixed issue where cubemaps may not render properly. They would render the same image to all sides.
  • sACN - Property value count fixed for DMX In, and DMX Out packet size as reported in forum (thanks Peeet)
  • Par Class - Fixed bad or missing .default attributes in many cases.
  • Parameter COMP - Fixed bug where adjusting parameter changes selected ops as well.
  • Table COMP - Fixed case where table would lay out improperly unless set to fixed width.
  • Fixed issue with Parameter COMP copying into itself when dropping the node on itself.

Build 2017.5940 - May 1, 2017

Bug Fixes and Improvements

  • Keyboard Shortcut Change Parameter Modes - "ctrl+m" (replacing "alt+t") toggles through parameter modes.
  • Video Device Out TOP - Fixed high latency issue with interlaced video.
  • DMX Out CHOP - Fixed incorrect 'Property Values Count' being sent in packets when using sACN. It should have included the start code (513, not 512).
  • SSAO TOP - Operator is working again after being recently broken.
  • Audio Device Out CHOP - Fixed crash on macOS if no channels were enabled.
  • Fixed FBX import issue where models with nodes that contained the same name in networks wouldn't load properly.
  • Fixed an issue which prevented windows being visible above a fullscreen window on macOS.
  • File Open/Save dialogs are now visible above fullscreen windows.
  • Fixed order of error messages so "Not supported on OS" messages are displayed before "Need Commercial/Pro license" messages.
  • particlesGpu Palette component fixed on macOS.

Build 2017.5540 - Apr 22, 2017

IMPORTANT CHANGES TO KEYBOARD SHORTCUTS in our research into foreign keyboards and unicode support, we discovered the need stop using 'alt' as a shortcut modifier in text input fields. These changes are the result of this and to keep related actions consistent.

  • Open Current DAT in External Editor - "ctrl+e/cmd+e" (replacing "alt+e") open either a parameter expression field or the Current DAT in your external editor.
  • Run Current DAT Script - "ctrl+r/cmd+r" (replacing"alt+r") will run the script in the Current DAT.

New Features

  • Text SOP - Added Level of Detail parameter to control quality of text geometry.
  • BlackTrax CHOP - Added acceleration and velocity output channels and added LED position/velocity/acceleration support for each beacon.

New Python

Bug Fixes and Improvements

  • GLSL TOP - Fixed issue with GLSL 1.20 shaders in some cases.
  • Render TOP - Fixed camera render not being positioned correctly when resolution is being clamped by Non-Commercial license.
  • Kinect TOP - Work-around driver bug that broke Kinect 1 Depth and Player Index on Intel GPUs.
  • Joystick CHOP - Fixed slider values not being returned for some devices on macOS.
  • DMX Out CHOP - Fixed a crash that could occur in some cases.
  • Window COMP - Fixed some issues with Justify parameters when using the 'Mouse' setting.
  • Fixed CoInitialize popups that would show up sometimes when using audio and video devices.
  • Fixed floating panel viewers not working with 'Size From Window'.
  • Fixed issues with 'alt' keys and foreign keyboards. Windows converts right-alt into ctrl+alt automatically, so test for absence of alt key when using shortcuts. Also removed alt tests in Text TOP as it impedes editing on foreign keyboards.
  • Fixed broken panel repositioning (OP Create Dialog) with non-default DPI settings.
  • oppardetails (tscript) fixed page output as it used to be.

Build 2017.5040 - Apr 11, 2017

New Features

New Palette

  • New Palette additions in Tools folder - VectorScope and 3DScope
  • camSchnappr now has a parameter for Precision and Max Iterations.

Bug Fixes and Improvements

  • Minimum Windows operating system requirement is now Windows 7 SP1. Removed Windows 7-before-SP1 as supported OS from installer.
  • Render TOP - Fixed a bug in memory usage calculation when using Anti-aliasing.
  • Geometry COMP - Fixed texture instancing not working if the MAT didn't have a map of that type specified in its parameters. The Map parameter can be left blank now, as it was in 088.
  • Panel Component - 'Align to Grid Row/Cols' uses 'Allow Parent Alignment' now.
  • Point Sprite MAT - Fixed material not working with instancing that used a custom W texture coordinate.
  • Video Stream In TOP - Fixed a bug that would result in stuttery playback in some cases.
  • Movie File In TOP - Fixed crash that can occur when changing Pre-Read Frames parameter in some rare cases.
  • Fixed panel dragging between DPI and non-DPI scaled monitors.
  • BlackTrax CHOP - Improvements
    • Added warning to make sure at least one beacon is specified. Fixed warning text.
    • Fixed naming and mapping table issues.
  • Fixed fixed-size tile names not rendering.
  • Update to Help > Operator Snippets examples.
  • Improvements to NDI support.

Build 2017.4580 - Mar 31, 2017

New Features

  • Movie File In TOP - Pixel Format menu is now enabled and can be used to convert the incoming data to a different pixel format.

New Python

Bug Fixes and Improvements

  • Offline Documentation updated, download it on the 099 download page.
  • Fixed TouchPlayer not working properly on monitors with DPI scaling enabled.
  • Parameter COMP - updates
    • Fixed rendering order of menus and popups.
    • Fixed rendering at native/unscaled resolution in some cases.
  • Fixed size/aspect for panels in: tile viewers / tile aspect / floating viewers
  • Scalable Display TOP - Updated Scalable SDK to support new blacklevel feature for overlapping projectors.
  • GLSL MAT - Fixed issue when trying to use deforms with geometry shaders.
  • Depth TOP - Should now actually be working on macOS.
  • Movie File In TOP - Fixed .tiff, .png and other image sequences not working correctly.
  • Joystick CHOP - Fixed an issue which affected Logitech Freedom 2.4.
  • Fixed issue with audio output on Video Stream Out TOP and Movie File Out TOP.
  • ASIO data now processed in 32 bits (single precision float) to provide maximum fidelity to/from Audio CHOPs. This includes support for Dante virtual cards, which support 16, 24 and 32 bit formats.
  • Fixed issue with floating viewers not resizing if component parameters are updated.
  • Palette - waveform monitor added to Palette > Tools.
  • Palette - fixes for kinectRecorder and moviePlaylist
  • Keyboard In DAT - Fixed missing ~ and ` keys.
  • Select COMP - 'Children' parameters now hidden.
  • CUDA TOP - Has been removed; instead use the CPlusPlus TOP with CUDA.

Build 2017.4060 - Mar 24, 2017

New Features

  • NDI Support for video streaming over a LAN. Check out the new NDI In TOP and NDI Out TOP. NDI (Network Device Interface) is a new network-based video and audio distribution protocol (video over IP on Ethernet-based LAN) developed by NewTek.
  • OpenVR CHOP - Added support for Vive Tracker (untested since we don't have one in house currently).

Bug Fixes and Improvements

  • New MottoKantan (2D Projection Mapper that replaces Kantan Mapper) posted in the forum - MottoKantan
  • OpenVR - Upgrade to OpenVR 1.0.6.
  • Movie File In TOP - Fixed issue with incorrect frame being returned in some cases, particularly when using 'Pre-Fill' on the Texture 3D TOP.
  • Crash fix for Fan CHOP.
  • Crash fix for primitives count mismatch.
  • Fixed issue with Table COMP cooking during network navigation.
  • Fixed some Drag n Drop issues.
  • Fixed some issues with the Animation Editor graph.
  • Undid some innocent changes that were causing instability.

Build 2017.3580 - Mar 17, 2017


IMPORTANT CHANGES TO KEYBOARD SHORTCUTS to avoid hitting unintended shortcuts. They are still available but you need to hold ctrl or shift.

  • Layout All - "l" has been completely removed! Yay! Still available through the network's RMB menu.
  • Switch to List - "t" changed to "shift+t" - hopefully keeps from accidentally switching to list mode and getting stuck.
  • Display > Groups - "g" changed to "ctrl+g/cmd+g" - again hope to keep from accidentally opening Groups interface.
  • Open Parent Viewer - "v" changed to "shift+v" - days accidentally hitting v and blocking your work are over.
  • Open Explorer/Finder - "alt+e" changed to "alt+f" - think alt+f for "File Browser", its more OS neutral and we needed to take back "alt+e" for below...
  • Open Current DAT in External Editor - "alt+e" - like the "alt+e" in a parameter expression field, "alt+e" will also now open the Current DAT in your external editor. Someone's recent wish.
  • Run Current DAT Script - "alt+r" will run the script in the Current DAT. Another recent wish, making dreams come true one shortcut at a time!

New Features

  • DMX In CHOP - Added sACN protocol for DMX In CHOP. The chop can now receive data either Multicast or Unicast UDP.
  • File In SOP - Can now drag and drop .obj files to load into File In SOPs.

Bug Fixes and Improvements

  • DMX In CHOP - Removed Net Port parameter and it will be set to default according to the protocol.
  • DMX Out CHOP - Removed Custom Port and Net Port parameter and it will be set to default according to the protocol.
  • Fixed a cook time issue for DMX Out CHOP and DMX In CHOP.
  • Folder DAT - Fixed bug when pattern matching folders.
  • OP Viewer COMP - Fixed bug where OP Viewer COMP would not display a CHOP Viewer right away.
  • Fixed bug with homing viewers on a single point or very small geometry.
  • OSC In DAT - Fixed crash found in OP Snippets examples.
  • Fixed crash then loading some .obj files. Also fixed some .obj files loading in with scale = 0.
  • Fixed a number of crashes.
  • Adding/removing privacy will permanently mark the toe file edited and therefore prompt to save on quit.
  • PanelCOMP Class - REMOVED .x .y .width .height until stability issues can be addressed.

Build 2017.3340 - Mar 10, 2017

New Features

  • Replicator COMP - Added a Replication Method menu to choose between 'By Number' or 'By Table' replication.
  • Parameter COMP
    • Added page and parameter scoping using standard parsing: quotes, ^, etc. Also set order by scope.
    • Fixed custom parameters appearing out of order.
    • Panel now drawn shrunk to layout size, (with optional Oversize parameter), instead of always drawing at native resolution.

New Python

  • PanelValue.val will now consistently return a type float, int, or string, dependent only the type. Previously it returned int or float dynamically, dependent on the current value. example: panel.u will always return a float (example 0.0 not 0)

Bug Fixes and Improvements

  • Render TOP - Fix some depth precision errors that can occur with depth peeling and order independent transparency.
  • Render TOP - Order Independent Transparency and Depth Peeling should now work on AMD GPUs and macOS.
  • Depth TOP - Now works on macOS.
  • SSAO TOP - Should now work on AMD GPUs and macOS.
  • Blob Track TOP - Fixed 'Draw Blobs' feature incorrectly drawing offset vertically for non-square resolutions.
  • Ramp TOP - Change default ramp type to horizontal.
  • Minimum required Nvidia driver version is now 340.00 or later.
  • Movie File In TOP - loop_frame Info CHOP channel will no longer turn on when cueing a movie with the Cue parameters.
  • TOP to CHOP - Default download type is now 'Next Frame', since that is much faster.
  • Joystick CHOP - Fix to better support using Logitech devices between Windows and macOS.
  • Sort SOP - Fixed the behavior of Sort by Neighbor, where it was causing crashes and removing points.
  • Root Component is now a Base Component set to python language.
  • Fix some issues with GPU memory usage calculations, and texture freeing.
  • Fix so the Palette does not load files starting with "."
  • Fix for startup crash on macOS.

Backwards Compatibility Issues

  • BACKWARDS COMPATIBILITY WARNING - Casting a Channel to string, will now include a decimal portion (example: "1.0" vs "1"). This is more consistent with how python does casting of floats to strings, but may break legacy scripts that didn't explicitly cast to an int before casting to a string.
  • BACKWARDS COMPATIBILITY WARNING - Blob Track TOP - The names of the Info CHOP channels have been changed for the blobs and reordered. The column names for the Info DAT have been changed from x/y to u/v as well.

Build 2017.2820 - Feb 24, 2017

New Features

  • Delete CHOP - Added new 'Samples' parameter page to delete individual samples in specified ranges.

Bug Fixes and Improvements

  • Video Device In TOP - Fixed issue which prevented Blackmagic devices being used in some circumstances.
  • FBX importing fixed - needs more test cases.
    • Doesn't use default transforms anymore, it use the ones at time=0.
    • LclRotation doesn't get the pivot information (such as preRotation) baked into it anymore during ConvertAnimation in the 2017 SDK. In 2015 it did.
  • Fixed labeling of parameters on some MATs.

Build 2017.2620 - Feb 17, 2017

Bug Fixes and Improvements

  • BlackTrax CHOP - Now uses a Mapping Table to map the beacon indices coming from BlackTrax to TouchDesigner indices set by the user.
  • Noise CHOP - Fixed crash in timeslice mode when specifying duplicate channel names.
  • Movie File Out TOP - bug fixes
    • Fixed ALAC audio codec not working correctly.
    • Fixed issue with some codecs not having correct frame rates.
  • GLSL TOP - improvements.
    • Added TD_NUM_COLOR_BUFFERS define.
    • Fixed issues with Compute shaders and multiple color buffers.
  • CPlusPlus TOP - Fixed multiple color buffers not working correctly.
  • If you don't have a middle mouse button, you can press alt+RMB. This was a preference before, but now it is the default.
  • Joystick CHOP - Now working in macOS.
  • MIDI send messages bumped up to 1024 bytes for now.
  • SSAO TOP - Fixed this node being broken for the past few builds.
  • Stability and internal improvements.
  • Fixed TouchPlayer help links.

Build 2017.2300 - Feb 10, 2017

Bug Fixes and Improvements

  • Multi Touch In DAT - Fixed to handle dpi scaling. Use dpi scaled units based on setting for main window or panel window.
  • Video Device In TOP - Fixed some issues with Point Grey FlyCapture2 cameras.
  • Tablet CHOP - Fixed the issue where Wacom Tablets were not read.
  • GLSL MAT - Fixed issue setting index 0 for sampler arrays.
  • OpenVR TOP - Fixed bug that broke functionality in 2017.1900 build.
  • Par1 = par2, Par.copy(par2) now updates parameters and cloned parameters properly.
  • Fixed offline help for macOS.

Build 2017.1900 - Feb 03, 2017

New Features

  • Extrude SOP - Added the option to fuse points using Clamp Straight.

Bug Fixes and Improvements

  • NatNet In CHOP - Upgrade to NatNet SDK 2.10.0
  • OpenVR CHOP - Better behavior when working with trackers/controllers only.
  • Sync In CHOP - No longer accumulates channels as they change name or are reordered. Also fixed intermittent random flickering values, especially when Sync Out delayed.
  • GLSL MAT - Fixed Common page parameters not getting used correctly the first time the node cooks/compiles the shader.
  • Parameter COMP - Fixed crash when target operator deleted.
  • Movie File In TOP - Fixed crash that can occur when using 'High Performance Read'.
  • Ramp TOP - Fixed issue where ramp would not update after moving a tab/key.
  • Fixed startup errors in base.toe which is loaded with File -> New.
  • Fixed 'Update' indicator for experimental builds (any build number with year.xxxx format) and links to correct location now.

Build 2017.1360 - Jan 25, 2017

New Features

Bug Fixes and Improvements

  • Fixed camSchnappr being broken due to recent OpenCV update.
  • Fixed alt keystate for alternate characters not working in Field COMPs

Build 2017.1200 - Jan 20, 2017

New Features

  • OpenVR CHOP - Can now get controller and sensor information without an active OpenVR TOP. If the OpenVR TOP isn't present in the file, the file won't be throttled to the headsets refresh rate, allowing for sampling these devices are higher rates.
  • GLSL TOP - Added 'Matices' uniform page.

New Python

Palette

  • Updated Lister component in UI folder.

Bug Fixes and Improvements

  • Render TOP - Fish-eye rendering mode now calculates it's depth values differently. The depth values are now based on distance to camera (instead of z-depth) and can be converted back to linear depth using the Depth TOP as well.
  • Camera COMP - Fog is now calculated based on distance from camera, not Z-depth. This gives better fog for cases such as fish-eye output.
  • ASIO Support for 16,24 bit formats, which include default settings on Dante Virtual Sound Cards.
  • After more testing and discussion we've decided not to deprecate int() and float() on a menu parameter objects. Behavior for menu's should now be the same as it was previously and in 088.
  • Fixed a number of errors and warnings from casting changes.
  • RealSense CHOP - Fixed face landmarks not working.
  • toeexpand, toecollapse now supports tox files.
  • toecollapse now uses compressed output for smaller output files.
  • Improvements to handle some extended ascii characters on macOS.

Build 2017.760 - Jan 13, 2017

New Features

  • New Panel COMP alignment parameters including anchors, offsets and pivots. Existing parameters also reorganized and renamed in some cases.
  • Blob Track TOP - Overhauled with upgraded openCV.
  • CPlusPlus TOP, CUDA - CUDA is now supported as part of the CPlusPlus TOP, the CUDA TOP should not be used anymore and will be removed soon.
  • BlackTrax CHOP (Pro only) - New CHOP supporting BlackTrax UDP messaging protocol, for both unicast and multicast.
  • Oculus Rift CHOP - Add support for Oculus Touch Controllers.

New Python

  • Converting Channel to str will include '.0' in future builds for integer values. Please explicitly cast to int() or float() to control if the decimal portion is always included instead. Feedback on this change is requested, we want to know if this change breaks a lot of existing files.
  • Numpy now included as part of TouchDesigner's Python installation again.
  • TOP Class .aspect (which is ratio of X/Y as single float).
  • New members and methods for Panel COMPs - panelCOMP.x .y .width .height .marginX .marginY .marginWidth .marginHeight .panelRoot .panelParent() .panelChildren
  • COMP.extensionsReady - True, unless extensions are compiling.
  • Par.menuIndex now supported for custom strMenu, as well as built-in dynamic menus (example Audio device menus).
  • Casting a menu parameter to an int or float (instead of using .menuIndex) will now result in a deprecated warning.
  • Casting a parameter to an int or float will now give deprecated warning if the parameter is a string that cannot be converted. Previously it would simply return numeric value 0. This is consistent with python behavior.

Bug Fixes and Improvements

  • Blend CHOP, Lag CHOP - Quaternion Blending no longer requires Commercial or Pro license.
  • List COMP - Fixed callbacks when dragging off cells. ( 'Off Cell Callbacks') option.
  • Fixed C++ operators failing to load when the custom cook method produced an error.
  • Phong MAT, PBR MAT - Fixed instance texture menus being incorrect.
  • New preference adds the option of using alt+right-click as an alternative for middle-click.
  • Render TOP - Fixed crash that can occur when trying to replace the Camera COMP specified in the Camera parameter when the Camera COMP has been deleted.
  • Render TOP - Disable Multi-Camera rendering on AMD for now, driver currently present.
  • Phong MAT - Fix bug that caused broken shader when using env mapping.
  • Movie File In TOP - Fixed recent bug that caused the entire movie file to be loaded into CPU memory when opening the file.
  • Touch Out CHOP - Now re-sends channel name each cook when using UDP formats to ensure names aren't ignored when new clients are connecting.
  • OP Viewer TOP - Fixed issues with updating viewer's output.
  • Listen/Tap now working in macOS version.
  • Fixed startup crash with clones and custom parameters.
  • Fixed refresh issue with PanelCOMP.layout* members.
  • Fixed recursion from simple panel parent layout expressions.
  • Fixed a crash that occurs when mouse-hovering over an export data link where the export source is missing.
  • Panels are always 'Fit Best' inside nodes viewers.
  • Upgraded 'Storage' features in Component Editor.
  • Support for OpenCV features now working again on Windows.
  • Some Palette components fixed and/or updated.

macOS Version Improvements

  • CPlusPlus TOP now works on macOS, updated OpenGL TOP example.
  • Moved the user Palette folder to ~/Library/Application Support

Backwards Compatibility Issues

  • BACKWARDS COMPATIBILITY WARNING - Blob Track TOP - Due to upgrading OpenCV this node been overhauled. Lots of features have been removed, which were hard to use anyways, resulting in a much more straightforward blob tracking setup. Files that use the Blob Track TOP will likely need to have their node's parameters adjusted.
  • BACKWARDS COMPATIBILITY WARNING - Casting TD objects (channel, point, vertex, matrix, position) to strings will now always include a decimal portion (1.0 instead of 1). This is more consistent with how python does casting of floats to strings. This causes an error in this build, however in future builds we will reduce it to a warning for a while to ease transition.
  • BACKWARDS COMPATIBILITY WARNING - int(par) will not return the index of a menu parameter in the future (just warning right now). Use par.menuIndex

Build 2016.5580 - Dec 07, 2016

New Features

  • Render Pick DAT New features for multi-view picking
    • Now supports doing more picks in a single render pass on using Multi-Camera Rendering. Results in faster picking, especially for scenes with complex scene-graphs.
    • New optional column on the input DAT. The column is named 'camera', and can either specify an index or a path to a Camera COMP. This allows picking to be done from different camera viewpoints than the first camera listed in the Render TOP, as it was previously. If an index is specified it will select one of the cameras listed in the Render TOPs Camera(s) parameter. If a path is specified any Camera COMP can be selected.
    • Added 'Custom Pick Camera(s)' parameter which allows specifying multiple cameras to be used for picking that are different than the ones in specified in the Render TOP.
  • Render TOP - Can now create cubemaps in a single pass on Pascal/Polaris Nvidia/AMD GPUs.
  • Render TOP - Now supports Simultaneous Multi-Projection for Pascal Nvidia GPUs and recent AMD GPUs. This is more general than the Stereo Rendering mode which only works with an X offset for both transform/projection. The cameras can have completely arbitrary transforms and projections. Setting the 'Multi Camera Hint' to 'Automatic' will use this mode when appropriate.
  • Video Device In TOP - Added support for 4K capture on Bluefish444 cards
  • Video Device Out TOP - Added support for 4K playback on Bluefish444 cards.
  • Vertex SOP - Added 4 custom attributes which you can name and use downstream, like in the Render Pick DAT.

Bug Fixes and Improvements

  • GLSL MAT - Removed legacy functions when working with new World Space Lighting mode.
  • Phong MAT, PBR MAT - Fixed output shader not working for rim strength ramps.
  • Depth TOP - Fixed linear depth not working correctly.
  • Window COMP default for DPI Scaling parameter is now 'Use DPI Scale', not 'Native'.
  • Palette Component updates and modifications: probe (launching properly with Ctrl-p), sopRender (now with interactive arcBall tumbling), movieDemo.
  • Audio Movie CHOP - Fixed crash that can occur in some cases.
  • Movie File Out TOP - Fixed Animation codec not working properly.
  • Video Device In TOP, Video Device Out TOP - Upgrade to Blackmagic SDK version 10.8.3.
  • Video Device Out TOP - Fixed bug where Blackmagic wasn't able to find driver in all cases.
  • Render TOP - Will now give a warning if Normal Mapping is being used with a SOP that doesn't have tangents created for it.
  • Info CHOP - added 'children_cpu_cook_time' for components.
  • CHOP to SOP - optimizations, about 50% faster.
  • Fixed broken Point Sprite MAT.
  • OP Find DAT - Fixed crashes in when callbacks delete the OPs they are passed.
  • Update Point Grey Spinnaker SDK to 1.0.0.295
  • Some export optimizations when loading .toe file, and load progress now displayed in splash screen.
  • Geometry viewer settings bug fixed.
  • Fixed crash that occurs on startup on some AMD GPUs.
  • Splash screen shows loading progress.

macOS Version Improvements

  • CPlusPlus CHOP now working on macOS version
    • Enables loading of appropriately packaged bundles with extension .plugin
    • Added Xcode project for existing CPlusPlusCHOPExample

Backwards Compatibility Issues

  • BACKWARDS COMPATIBILITY WARNING - Camera COMP - The 'Custom Projection GLSL DAT' feature has changed in a non-backwards compaitible way. The shader needs to be updated to work again, changes should be quick though. Check the help for the Camera COMP for more information on the way to do this.
  • BACKWARDS COMPATIBILITY WARNING - GLSL shaders exported from the PBR MAT may need to be updated to function correctly. PBR functions are not available in the GLSL TOP if the Lighting Space parameter is set to 'Camera Space'.

Build 2016.4500 - Nov 22, 2016

New Features

  • Render TOP - Add support for Nvidia Stereo View Rendering. This allows for more quickly rendering two cameras that only have an X offset between them. Enabled by specifying two cameras in the Render TOP and changing the 'Multi-Camera Hint' parameter. Requires Pascal GPU (Geforce 1000 series, Quadro P-series).
  • Point SOP - New custom attributes options.
    • Added ability to create integer custom attributes.
    • Added ability to create a few more custom attributes per node.
  • Render Pick CHOP - Added ability to pick custom attributes.
  • Render Pick DAT - New custom attributes options.
    • Added ability to pick custom attributes.
    • Callbacks now include 'custom', a dictionary of custom attribute values for that event.
  • Event CHOP updated funcitons
    • createEvent() - now returns id, optional index=0 keyword, optional hold=False keyword, optional samples=None keyword (list of floats)
    • releaseEvent(id=None) - (releases an event created with hold=True)
  • In MAT and Out MAT added, following the same format as in/out operators in other operator families.

New Python

  • Preference Class added .defaults member (dictionary of default values).
  • ui.preferences provides access to the application preferences.
  • ui.preferences.defaults and ui.preferences.resetToDefaults(), added .save() .load() methods
  • panelCOMP.layoutX Y XMargin YMargin
  • panelCOMP.layoutWidth .layoutWidthMargin .layoutHeight .layoutHeightMargin
  • panelCOMP.layoutRoot .layoutChildren .layoutParent

Bug Fixes and Improvements

  • Fixed old crash when setting some internal values between floating and string formats (eg. preference for CHOP rgb color)
  • GLSL TOP - Fixed recent bug where shaders would not recompile on the first edit of the DAT.
  • GLSL TOP - Added example DAT for Compute Shaders.
  • CUDA re-enabled on Windows. Upgraded to 8.0.
  • Movie File Out TOP - Nvidia H264 encoding is working again.
  • Environment Light COMP - Fixed Env Map Rotate not working with Pre-filtered maps.
  • Flipped Substance textures on y-axis.

Backwards Compatibility Issues

  • BACKWARDS COMPATIBILITY WARNING Render TOP - Linear Depth option has been removed. To obtain a linear depth map of your render instead use the Depth TOPs option to rerange the depth buffer to linear values.

Build 2016.3740 - Nov 8, 2016

New Features

  • Substance TOP - Loads Substance Designer's .sbsar files creating PBR material textures. The Input Values parameter page exposes all the parameters used in Substance Designer to create and modify the material. This TOP can be directly referenced in the PBR MAT to correctly assign all the textures to the appropriate material maps.
  • Substance Select TOP - Selects a single texture from the material loaded in the Substance TOP for further filtering and manipulation in TOPs.
  • PBR MAT - The PBR MAT has been upgraded to support Substance Designer .sbsar files through the Substance TOP as well as numerous other PBR rendering improvements.
    • Added Ambient Occlusion, Specular, and Height maps and Level parameters.
    • Environment lights are now split up into different arrays in GLSL from other lights.
  • Environment Light COMP - Added support for prefiltering Environment Maps which results in much faster rendering. However, using an animated Environemnt Map texture (if the input is cooking), is very slow now as a result.
  • Cube Map TOP - Added support for horizontal cross cube maps.
  • Projection TOP - Added Cube Map output and Equirectangular input.
  • GLSL MAT - TDLightingPBR() and TDEnvLightingPBR() parameters have been simplified. If you have a GLSL MAT using these functions you will need to adjust the calls. In particular, ambientOcclusion has been removed from TDLightingPBR(), and camSpaceVert, shadowColor and shadowStrength have been removed from TDEnvLightingPBR().
  • Panel Components now include horizontal/vertical stretch weights.
  • Backdrop displays (viewers in background of network editor) now placed in alphabetical order.

New Python

  • tdu.expandPath(path), tdu.collapsePath(path) functions to expand/collapse filenames with project.paths entries.

Bug Fixes and Improvements

  • OpenVR - Upgrade to version 1.0.3
  • OpenVR TOP - Workaround SteamVR bug that caused both eyes to show the same texture in some cases.
  • Environment Light COMP - Fixed crash when creating a new Environment Light COMP.
  • Serial DAT Serial CHOP - Fixed intermittent long delays when activating/de-activing connection.
  • Improvements to Point Grey Spinnaker SDK support to handle device exceptions.
  • Projection TOP - Fixed issue with Cube Map TOP resolution
  • Movie File In TOP - 'Audio Loop' parameter, removed Blend to Start and added Match Start to End which produces a much cleaner transition without pops.
  • Noise TOP - Fixed bug where switching between Random (GPU) and other GPU noise types resulted in a solid color as output.
  • When opening a file/folder parameter, properly jumps to resolved file location. (paths, variables, etc).
  • Selecting a file/folder parameter now collapses it using Project.paths entries

Build 2016.2720 - Oct 19, 2016

New Features

  • Movie File In TOP - Add support for luminance-only .exr files.
  • PBR MAT - The model used for PBR is getting more streamlined so the way some parameters interact with it has changed and may change more over the next couple of builds.
    • Rearrange parameters and major improvements to PBR shader.
    • Rename RGB menu to Channel Source, add Channel Source menu to Ambient Occlusion map.
  • Environment Light COMP - Add support for equirectangular and polar maps.

Bug Fixes and Improvements

  • Phong MAT - Fixed bug where environment maps in the scene would break Phong MATs in some cases.
  • Timer CHOP now runs about a third faster.
  • PBR MAT, Phong MAT - Fixed Advanced Color buffer outputs not working.
  • Noise TOP - Fixed monochrome Random (GPU) noise not working.
  • Fixed bad loading of sys components when initially un-licenced.
  • Environment Light COMP - Remove Environment Map Color, fix functionality of Dimmer and Light Color parameters.
  • Serial CHOP - Potential crashes when placing one down.
  • Analyze TOP - Fixed crash when placing one down (ie GPU Particles )
  • Oculus Audio CHOP - No longer errors if used with FPS set to 90.
  • SSAO TOP - Fixed bug that broke this node.

Backwards Compatibility Issues

Backward compatibility - Local variables TOUCHVERSION, TOUCHBUILD, TOUCHTIME no longer updated when found in local components. (caused slow load times and stability issues)


Build 2016.2100 - Oct 07, 2016

Here is a list of Known Issues for macOS version.

New Features

  • TOPs - Add support for rendering into an 8-bit sRGB encoded buffer. This stores more data for the darker color values so that data is around for future processing, it doesn't not actually brighten/darken the image.
  • Syphon Spout In TOP - Spout TOPs renamed to Syphon Spout TOPs. Now work with Syphon on OSX and Spout on Windows.
    • Added support for rectangle textures as an FBO attachment.
  • OpenColorIO TOP New TOP can be used to apply 3D lookup tables to textures (using the OpenColorIO SDK).
    • Added display, view, colorspace, colorspace transform menus.
    • Added menu option to lookup precision to automatically grab value in config file.
    • Added File and CDL submenus to support their respective OCIO transforms.
    • Status reports to Info DAT.
  • Video Device In TOP
    • Added support for BlueFish444 cards.
    • Added support for Point Grey Spinnaker API/SDK.
    • IDS color cameras now supported, format IS_COLORMODE_BAYER.
    • New channels reported in the Info CHOP - capture_fps, capture_total, frames_repeated, frames_dropped, connection_changes
      • capture_fps drops to zero when frames stop arriving.
      • frames_repeated continues to climb when camera unplugged.
      • connection_changes increments for each camera connected/disconnected. Only implemented for IDS cameras currently.
  • Video Device Out TOP
    • Added support for BlueFish444 cards.
  • Video Stream In TOP - New parameters to control network buffer and queue size, which allows for higher bandwidth H264 playback.
  • Touch Out TOP
    • Added support for sending HAP Q Alpha images.
    • Now supports connections to multiple Touch In TOPs at the same time.
  • Screen Grab TOP - new screen grab technique incredibly fast makes fullscreen screengrabs viable in real time on Windows.
  • Text TOP value formatting improved - Now the + (plus) flag is supported in addition to - (minus) flag. Example:  %+0.83f
  • Noise TOP - New 2nd input which allows for specifying custom noise coordinates on a per-pixel basis using an input texture.
  • Math TOP Added Multi-Add and Range submenus containing fields similar to the Math CHOP's OP submenu. Added an input and output mask to dictate what channels are used in the combine operation and in which channels the result is stored.
  • Cube Map TOP - Able to convert a Cube Map texture back to a 2D texture with a vertical cross of the cube map.
  • GLSL TOP - Now supports GLSL Compute shaders.
  • CPlusPlus TOP - To avoid GL state issues, the node owns it's own unique OpenGL context which is enabled using beginGLCommands() and endGLCommands() on the 'context' parameter passed into execute(). Older .dll should still work as-is.


  • DMX Out CHOP updates
    • sACN streaming DMX protocol now supported.
    • Added support for sACN multicast.
    • Art-Net and sACN now auto increment universe each channel when routing table is not specified.
    • Universe 0, 64000-65535 (except 64214) are reserved in sACN. Issue warning when they are being used.
    • Added toggle to use custom port for Artnet/sACN, otherwise use the defaults. sACN will start at universe 0 instead of 1 within TouchDesigner.
  • Splice CHOP - New CHOP for splicing samples into channels. Supports trimming and inserting of samples.
  • Reorder CHOP updates
    • Added additional methods to Method parameter and input order reference by index.
    • Update Switcher count in Reorder CHOP.
  • Sequencer CHOP bought back!


  • File In SOP - Now supports loading simple polygonal .obj files.
  • FBX Export from SOPs - Added FBX export support for mesh and NURBS from SOP Nodes.
  • FBX Import - Added multiple texture coordinate sets support for FBX mesh import.
  • Transform SOP - Added more translate options to the post page.


  • New PBR MAT for physically based rendering materials.
    • Added toggle to enable Parallax Mapping and added an associated Parallax Clamp parameter * Normal Map TOP.
    • Added an option to put the heightmap into the alpha channel.
  • Phong MAT, PBR MAT - Add support for rotating cube environment map.
  • GLSL MAT
    • New TDShadow() function which does shadowing based on the light's current setting.
    • Added uTDMat.cameraIndex member which is the index of the camera currently being rendered in multi-camera Render TOPs.


  • Render Pick DAT - Added 'Extend UV' toggle to allow u,v updates when cursor not directly over object.


  • Component Privacy - You can now add password protection to components to make them private (Pro feature).
  • Environment Light COMP - new light type for environmental lighting duties.
  • Replicator COMP - Added parameter 'Incremental Update' to stagger replication of nodes to avoid large frame drops when creating replicants.
  • Window COMP New parameter Size Context: to choose between Contents (Excluding Border) (default) and Window (Including Border)



  • GPU Affinity can now be specified using -gpuformonitor <monitorIndex> which is a more stable way of specifying GPU affinity since GPU indices can sometimes change.
  • Support for high DPI monitors
    • User Interface can be resize using Windows Display Settings by changing "Size of text, apps and other items" setting.
    • Window COMP has high DPI support through a new DPI Scaling parameter.
  • Preferences > General now has setting to move incremented save files to a Backup folder ( myFile.1.toe, myFile.2.toe, ... etc.)

New Python

  • Upgrade to Python 3.5
  • Par Class - Par.evalOps() - Evaluates the parameter as series of operators. This is useful for any parameter that specifies a list of operator paths for example.
  • Project.saveOsName .saveOsVersion .saveBuild .saveVersion are renamed members to clarify their use.
  • COMP.isPrivacyActive = True when privacy is active and the component's networks are private. False when privacy is inactive and the contents can be temporarily viewed and edited.
  • tdu.Dependency() notifies its targets when deleted.
  • Added tdu.ArcBall.setTransform to set the current transform of the arcball.
  • Par.defaultExpr to get/set custom parameter default expressions.
  • Par.val now matches Par.eval() when casting values to integers.
  • Project.osname .osversion .build .version added.
  • Movie File In TOP - Added 'trueNumImages' member.
  • Video Device In TOP - isConnected member/info channel now set to 0 when IDS Camera lost.
  • OP.showCustomOnly will only display custom parameters on dialogs.
  • Added App.osName, App.osVersion
  • Project Class members: .version .build returns the version, build of the currently loaded toe file.
  • Empty python callback functions are no longer called, speeding up some situations.


Palette

  • Fixed startup errors when drag-dropping components with global shortcuts, causing conflicts.
  • Updated camSchnappr, geoPanel, and gal components to address various issues.


Bug Fixes and Improvements

  • Added support for GLSL 4.40 and 4.50
  • Upgrade to GL3.3+
  • Convert all shaders from 1.2 GLSL to 3.3
  • Fixed crash when panel click command received bad arguments.
  • OP Execute DAT - flagChange callback, now includes flag label.
  • Fix uninitialized sRGB state that caused displays to seem washed out in some cases.
  • Window COMP - 'Open in Separate Window' now resizes, moves, and lays out contents properly each time it is pulsed.
  • FBX importing handles layered textures better.
  • Audio File In CHOP - File is now be properly unloaded when File parameter is cleared.
  • Panels - Layer parameter now supports float values.
  • Key Manager dialog updated to show user all licenses and allow the selection of a particular license to create key with.
  • Clock CHOP - Fixed several inaccuracies when outputting fractional values.
  • Clock CHOP - Fixed issue where entering sleep mode could lag the output values.
  • Movie File In TOP - New 'has_decode_errors' Info CHOP channel and hasDecodeErrors Python member. Only functional with Hap codec files currently.
  • Fix off-by-one error in Movie File In TOP.
  • CPlusPlus TOP, CPlusPlus CHOP - Add the ability to get the texture data from a TOP in CPU memory.
  • Movie File In TOP - .png files will now automatically multiply their RGB by Alpha.
  • Support for Nvidia SDI solutions has been removed.
  • Video Device In TOP - Fixed flickering that can occur when Sync Groups are used and the capture is performing poorly.
  • Movie File In TOP
    • Fixed issue where non-cycle extend modes would not show the final frame.
    • Tiled .exr files that are missing tiles will now open instead of erroring.
  • Movie File Out TOP - Possible fix for hangs that can occur when recording multiple movies one after another.
  • Movie File Out TOP, Video Stream Out TOP - Upgrade to NvEnc 6.0. Requires Nvidia driver 358.00 or later.
  • Circle TOP, Rectangle TOP - Fixed issues where the resolution is getting artificially limited by Non-Commercial license and aspect fraction units were used, resulting in incorrect results.
  • RealSense TOP, RealSense CHOP - Upgraded SDK version to 2016 R1, also called R6.
  • Video Device In TOP - Upgrade to Blackmagic SDK 10.5.2. Will require Blackmagic Desktop Video 10.5.2 or later to be installed.
  • Transform TOP - Behavior of tiling for Zero and Hold extend modes has been made more consistent.


  • CHOP export conflict resolution improved
    • Conflicts automatically resolved by disabling specific row in the Export DAT Table (no more confusing dialog, re-introduced the 'enable' column in DATs to control specific rows). Previously it simply turned off an export flag.
    • Automatically disabling the last export row will turn off export flag
    • Toggling export flag back on will enable all rows, if they are all off.
    • Cutting & pasting node keeps original node export, not pasted node.
    • Fixed cases where export connections lost when using 'DAT Table by Name' and channel names changed during bypass/error etc.
    • Fixed export conflict behaviour by deleting row from CHOP table again, instead of turning off export flag.
    • Fixed issues with automatically re-creating missing export tables when dragging-dropping CHOP channels.
  • Timer CHOP - Fixed off-by-one error in running total values.
  • Beat CHOP - Playmode now defaults to 'Local Sequential' to avoid frame 1 skips.
  • Fixed flickering CHOP viewer horizontal axis labels.
  • Fix off-by-one error with sACN, zero out unused bytes for both ArtNet and sACN
  • Added an active parameter which sets output to 0 or black, when deactivated for Leap Motion CHOP RealSense CHOP Kinect CHOP Leap Motion TOP RealSense TOP Kinect TOP
  • Modified the behaviour of LeapMotion CHOP so that it outputs 0 values in channels when not tracking.
  • Parameter CHOP now outputs single framed pulses when pulse-type parameters are fetched, not their constant evaluation value.
  • Upgraded to FTDI Driver version 2.12.16 (Used in DMX In/Out CHOPs).
  • In CHOP no longer cooks its default input when component input attached.
  • LFO CHOP - Fixed it becoming stuck with bad output when input octave control too high (-127 to 127).
  • Oculus Audio CHOP - Upgrade to SDK version 1.0.1.
  • OpenVR CHOP - Add ability to output debug channels.
  • RealSense CHOP - Will now always output selected feature channels, even if no device is present.


  • Polyloft SOP - Fixed crash when wrapping u/v without specifying groups.
  • Group SOP fixed crash when renaming non-existent group.


  • PBR MAT - Updated default values for metalness, roughness, reflectance parameters.
  • Phong MAT - Fixed Diffuse/Specular Map color buffer output not working if diffuse/specular color is 0.



  • Replicator COMP setting 'Maximum Opertors' to 0 now results in 0 replicants, not 1.
  • Window COMP - Changed Cursor Visible to have states: Never, When Moving, and Always. Internal window changed to support all 3, with panel and viewers opening defaulting to When Moving (currently can't be set), and all other windows to default to Always visible.
  • COMP operators now include list of clones in popup info.
  • 'Enable Cloning' now used at the master level to control if cloned objects stay in sync or not.
  • Fixed case where custom parameters were not being updated properly in cloned components, inside of clones.
  • List Component - Fixed unresponsive UI after clicking list with zero rows.


  • MIDI devices now recognized when plugged in *after* starting TouchDesigner. If device is unplugged and replugged, tscript 'midi -r' will reconnect all devices.
  • MIDI OPs receive data when devices, unplugged, replugged.
  • MIDI OPs now reconnect, after unplugging, replugging automatically.


  • Cutting & pasting OPs or panes no longer affects interior digits in their name. 'a3D' becomes 'a3D1', 'a3D2'.., not 'a4D', 'a5D'..
  • New sample movies in application installation folder /Map/Nature.
  • Fixed bug where mesh specific Geometric Offset/Transforms were not imported correctly in .fbx files.
  • Setting a menu parameter to a float now supported. No longer need to explicitly cast to int.
  • Crash fix when parameters are rebuilt in some cases.
  • Fixed cooking dependencies for OP.pars() expression.
  • Extended ascii dash characters are now accepted for command line startup options such as -gpuformonitor.
  • PythonExamples.toe updated to new syntax.
  • Fixed error in which copying an operator in script would cause its storage items to be shared by both operators, instead of unique references, as happens when cutting & pasting or loading from file.
  • Fixed 'NoneType' has no attribute errors, when accessing OPs with broken extensions.
  • Popup warning when user sets $TEMP to an invalid folder path.
  • Renaming a parent of an operator will now cause nodes looking at that operator to recook.
  • Fixed connection issue with external tox's to multi-input operators.
  • Pressing 'h' (Home All) over a SOP or Geometry viewer will keep the scene automatically homed, until manually re-positioned with the mouse. Likewise 'f' (Frame All) will keep it framed. Rotating a homed object will continue keeping it in frame.
  • Fixed TUIK Color picker knob values not being restored.
  • Crash fixed for 3D Geometry Viewer panes when nodes deleted.


Backwards Compatibility Issues

  • BACKWARDS COMPATIBILITY WARNING - GLSL TOP - Due to upgrading OpenGL version, alpha-only textures behave differently. Shaders must now call TDOutputSwizzle() on their output vec4 to place the color channels in the correct spots for the particular internal texture format that is being used.
  • BACKWARDS COMPATIBILITY WARNING - Modern GL/macOS does not support the implicit GL Alpha Test ('Discard Pixels Based on Alpha' in the MATs). GLSL 3.30+ shaders need to have the new line TDAlphaTest(<yourAlphaValue>); in their shader to support this feature now. Alpha test will not be functional if this line is missing from GLSL shaders.
  • BACKWARDS COMPATIBILITY WARNING - Text TOP - Now handles aspect ratios that differ from the resolution's aspect ratio better. Text TOP behavior may have changed for nodes that were already in this state.
  • BACKWARDS COMPATIBILITY WARNING - Resample CHOP - Fixed output range when method set to 'New Rate, Same Time Range'. When total number of samples decreases, don't use cubic, use linear. Output range may be slightly different in this mode.
  • BACKWARDS COMPATIBILITY WARNING - Better unique IDS menu name/label formats. Possibility that Audio Video In menus may need to be reset in systems with multiple IDS cameras.
  • BACKWARDS COMPATIBILITY WARNING - Fixed jumping animation output on segment edges that depended on overall length. Animation Component Output may give slightly different output curves.
  • BACKWARDS COMPATIBILITY WARNING - project.paths is now an ordered dictionary, doing a full substitution on each file parameter prefix. project.paths now requires full uri syntax for each key. Example 'MOVIES://' instead of 'MOVIES'
  • BACKWARDS COMPATIBILITY WARNING - Select CHOP - Fixed some issues where duplicate channels names could be created with this node by specifying the same channels multiple times in the 'Channel Names' parameter.
  • BACKWARDS COMPATIBILITY WARNING - The -gpu startup option has been removed. Use -gpuformonitor instead, which takes a monitor index instead of GPU index.
  • BACKWARDS COMPATIBILITY WARNING - Monitors are now ordered from left to right, bottom to top in the Monitors DAT and for usage in the Window COMP, instead of left to right, top to bottom as they were previously.