Difference between revisions of "Release Notes/099/2019.30000 Experimental"

From Derivative
Jump to: navigation, search
m
 
(47 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Build 2019.30074 - Jun xx, 2019==
+
== Build 2019.30550 - Aug 17, 2019==
  
 
=== New Features ===
 
=== New Features ===
  
* '''Python 3.7.2''' is now the built-in version of python.  
+
* '''Python 3.7.2''' is now the built-in version of python. '''Backward Compatibility''' warning, see below.
* [[Geometry COMP]] - Major improvements in [[Instance|Instancing]]:
+
* [[Engine COMP]] - This component will run a [[.tox]] file in a separate process using TouchEngine. *Work in progress*
** Instancing from TOPs: On the Geometry COMP, you can provide it with a TOP and it will render an instance for every pixel in the TOP. For example, floating point red, green, blue channels can be assigned to the instances' X Y and Z.
+
<!--* [[Network COMP]] - New COMP lets you embed the network editor in your panels (not available in TouchPlayer).-->
** In addition, you don't need to merge your CHOPs, TOPs, DATs or SOPs into one OP for instancing. The Instancing pages have been expanded so you can give a different OP for every instancing attribute type. You can even get position from a TOP and color from a CHOP, for example.
+
* '''Instancing with TOPs''' - Keep data on the GPU.
* [[Bind CHOP]] - Use CHOP channels for binding with parameters. Allows for multiple inputs (like old Override CHOP) or the bound parameter to update a channel's value. Includes a Callbacks DAT for querying where the change was initiated and then taking further actions via python script.
+
** On the [[Geometry COMP]] you can provide it with a [[TOP]] and it will render an instance for every pixel in the TOP. For example, floating point red, green, blue channels can be assigned to the instances' X Y and Z positions.
 +
** In addition, you are no longer limited to one OP for specifying instancing data. The Instancing pages have been expanded so you can specify TOPs, CHOPs, SOPs, or DATs for every instance attribute interchangably. For example, position from a TOP and color from a CHOP.
 +
* '''Point Clouds and general data with TOPs''' - Working with more data types on the GPU.
 +
** [[Point File In TOP]] - .<code>xyz</code>, .<code>obj</code>, .<code>exr</code>, .<code>FITS</code>/.<code>FIT</code>, .<code>pts</code>, .<code>ply</code> files (Windows only). It will create a square multi-RGBA buffer with pixel format 32-bit floats. Generally it can be set up as one pixel for each point, and the pixels that are unused contain NAN (a special value called Not-A-Number).
 +
*** The operator's pop-up info shows the number of points and channels.
 +
*** An [[Info DAT]] attached shows the channel names in the file. The first 4 channels are put into RGBA (buffer 1), the next 4 channels are in buffer 2, etc
 +
** [[Buffer Select TOP]] - Formally known as the [[Render Select TOP]], this TOP is now more general-purpose and can also select buffers from a [[Point File In TOP]] if multiple buffers exist.
 +
** [[TOP Viewer]] modes have been extended.
 +
*** 'Normalized Split' displays each channel separately as a normalized grayscale image with min and max values overlaid.
 +
*** 'View as Points' will visualize the data in a 3D Viewer like in SOPs, assuming the RGB channels contain XYZ point data.
 +
* [[Math TOP]] - Ranges can now be changed on individual color channels.
 +
* [[Bind CHOP]] - Use CHOP channels for [[binding]] with parameters.  
 +
** Allows for multiple inputs (like old [[Override CHOP]]) or the bound parameter to update a channel's value.  
 +
** Includes a 'Callbacks DAT' for querying where the change was initiated and then taking further actions via python script.
 +
** 'Channel Pickup' parameter doesn't change the value of that parameter until the input value crosses the current value.
 
* [[Binding]] - Binding to DAT text or table cells is now supported.
 
* [[Binding]] - Binding to DAT text or table cells is now supported.
* [[Laser CHOP]] - Successor to the Scan CHOP. Adds extra blanking controls and new functionality for controlling lasers more accurately.
+
* [[Function TOP]] - New TOP allowing mathematical functions to be done on pixels, similar to the [[Function CHOP]].
* [[Function TOP]] - New TOP that allows mathematical functions to be done on pixels, similar to the Function CHOP.
+
* [[CHOP to TOP]] - A new option to wrap long channel data into multiple rows of pixels when the channel's length exceeds the GPU's maximum texture width.
* new Network COMP lets you embed the network editor in your panels (not available in TouchPlayer)
+
* [[Video Device In TOP]] / [[Video Device Out TOP]] - Upgraded to Blackmagic SDK version 11.
 +
* [[Video Device In TOP]] - Added support for bandwidth and camera bit depth controls for [https://www.ximea.com/ Ximea] cameras.
 +
* [[Video Device In TOP]] - Added support for using the HDMI input from [[AJA]] '''io4K''' devices.
 
* [[Video Device Out TOP]] - Added support for Fill + Key pairs for [[AJA]] devices.
 
* [[Video Device Out TOP]] - Added support for Fill + Key pairs for [[AJA]] devices.
* [[Keyboard In CHOP]] - Keys are now defined in a space or comma separated list rather than as neighbouring keys on the keyboard. Old files are automatically updated to the new system when they load (only works for constant parameters). Added shift key support to the 'Modifier Key' parameter menu.
+
* [[Audio Movie CHOP]] - Added an option for switching audio tracks when movie files contain multiple tracks.
* [[Keyboard In CHOP]] / [[Mouse In CHOP]] - Added 'Panels' parameter so events are only triggered when the given panel has focus.  
+
* [[Keyboard In CHOP]] - Keys are now defined in a space or comma separated list rather than as neighbouring keys on the keyboard. Old files are automatically updated to the new system when they load (only works for constant parameters).  
* [[Object CHOP]] - Added 4x4 Matrix & Quaternion output.
+
** Added shift key support to the 'Modifier Key' parameter menu.
 +
** Added 'Panels' parameter so events are only triggered when the given panel has focus.
 +
* [[Mouse In CHOP]] - Added 'Panels' parameter so events are only triggered when the given panel has focus.  
 +
* [[Object CHOP]] - Improvements
 +
** Reorganization of parameters and pages.
 +
** Added '4x4 Matrix', '3x3 Matrix', and 'Quaternion + Transform' to the 'Compute' menu.
 +
** Added "xord" and "rord" channels to Transform output.
 +
** Added "Swap Target/Reference" toggle parameter.
 
* [[Transform CHOP]] - Overhauled and improved.
 
* [[Transform CHOP]] - Overhauled and improved.
 
** Now accepts two inputs. Added 'Invert Input 0' and 'Invert Input 1' parameters. Also added some warnings when two inputs are not compatible or invalid inputs.
 
** Now accepts two inputs. Added 'Invert Input 0' and 'Invert Input 1' parameters. Also added some warnings when two inputs are not compatible or invalid inputs.
** Added 4x4 Matrix & Quaternion output.  
+
** Added '4x4 Matrix', '3x3 Matrix', and 'Quaternion + Transform' output.
 +
** Now supports Vector sets and performs Matrix-Vector multiplication.
 +
** Added Vector/Position options for Input 1.
 
** Added toggle parameters to control output.
 
** Added toggle parameters to control output.
 
** Added Operation and Coefficient parameters for final output values.  
 
** Added Operation and Coefficient parameters for final output values.  
 
** Added 'Unmatched Channels' parameter.
 
** Added 'Unmatched Channels' parameter.
 +
** Now accepts xord and rord channels as part of TRS channels.
 +
** Swapped the Input and Transform pages.
 
** Renamed 'Invert' to 'Post Invert' on the output page.
 
** Renamed 'Invert' to 'Post Invert' on the output page.
 +
** Changed the 4 Invert toggles to a menu of Unary Operations.
 
* [[LTC In CHOP]] / [[LTC Out CHOP]] - Improved to support higher frame rates and more.
 
* [[LTC In CHOP]] / [[LTC Out CHOP]] - Improved to support higher frame rates and more.
 
** LTC CHOPs now work for higher frame rates.  
 
** LTC CHOPs now work for higher frame rates.  
 
** LTC In will now adjust the frame value based on the value in the User 1 channel.  
 
** LTC In will now adjust the frame value based on the value in the User 1 channel.  
 
** User <code>field1</code> is now automatically used for frame rates over 30.
 
** User <code>field1</code> is now automatically used for frame rates over 30.
** Added an option for LTC In to display the absolute frame number.
+
** Added an option for LTC In to display the number of 'Total Frames'.
* [[Hold CHOP]] - Added 'Hold per Samples' parameter.
+
* [[Timeline CHOP]] - Added options for 'Second', 'Absolute Frame', and 'Absolute Second'.
* [[Web Server DAT]] - WIP
+
* [[Hold CHOP]] - Added 'Hold per Sample' parameter.
* [[Web Client DAT]] - New DAT that acts as a web client. Replaces the old [[Web DAT]].
+
* [[Pattern CHOP]] - Added 'Random Non-Repeating Integers' to the 'Type' menu which will randomly change values whenever the 'Randomize' pulse parameter is pressed.
** Added request python method.
+
* [[Web Server DAT]] - New DAT which runs a web server in TouchDesigner, currently supports handling of HTTP requests and webSocket connections. How client requests are handled is left up to the user via a 'Callbacks DAT'.
* Aligning SOPs to their X Y and Z axes: [[Rectangle SOP]] / [[Box SOP]] / [[Circle SOP]] / [[Grid SOP]] / [[Sphere SOP]] / [[Superquad SOP]] / [[Torus SOP]] / [[Tube SOP]] - Added 'Anchor' parameters to main SOP generators. The position stays stationary regardless of rotate and scale settings.
+
* [[Web Client DAT]] - New DAT that acts as a web client. This replaces the deprecated [[Web DAT]]. Includes <code>request()</code> python method.
* [[Text SOP]] - Added vertical alignment options: First Line, Top, Center, Bottom. The chosen field will be aligned to the x-axis.
+
* [[SocketIO DAT]] - New DAT for extended socket.io functionality, separate from the older functionality of the [[WebSocket DAT]].
 +
* [[Raster SOP]] - New SOP that takes a TOP and converts it into a single-line SOP that can be used with the [[Laser CHOP]].
 +
* '''Aligning SOPs''' to their X, Y, and Z axes: [[Rectangle SOP]] / [[Box SOP]] / [[Circle SOP]] / [[Grid SOP]] / [[Sphere SOP]] / [[Superquad SOP]] / [[Torus SOP]] / [[Tube SOP]] - Added 'Anchor' parameters to main SOP generators. The position stays stationary regardless of rotate and scale settings.
 +
* [[Text SOP]] - Added 'Vertical Align' parameter with options: First Line, Top, Center, Bottom. The chosen field will be aligned to the x-axis.
 +
* [[Text SOP]] - Added 'Scale Font to BBox Height' parameter to scale the font's vertical size so it's based on the vertical bounding box of the font, rather than the typical way a font is sized.
 +
* [[Select SOP]] - Now allows multiple input ops to be specified in the 'SOP' parameter, acting like a Merge SOP.
 +
* [[Merge SOP]] - Added 'SOPs' parameter to accept multiple SOPs by reference.
 +
* [[Join CHOP]] - Added 'CHOPs' parameter to accept multiple CHOPs by reference.
 
* [[DAT]]s - Execute DATs will now accept multiple OPs to monitor.
 
* [[DAT]]s - Execute DATs will now accept multiple OPs to monitor.
 
+
* [[Replicator COMP]] - Added a new onRemoveReplicant() callback to destroy replicators.
=== New Palette ===
 
  
 
=== New Python ===
 
=== New Python ===
  
* new Header parameter type acts as a label and section divider. It is like parameter sections but you can give it a text string.
+
* '''Header''' parameter type added which acts as a label and section divider. It is like parameter sections but you can give it a text string label.
 
* [[Page Class]] - methods and members will now also work for built-in pages.
 
* [[Page Class]] - methods and members will now also work for built-in pages.
* [[Page Class|Page]].appendHeader(name) - Appends a custom parameter that displays only the value, left justified, with no editing ability. Can be used in combination with Par.startSection and Par.enable.
+
* [[Page Class|Page]].appendHeader(name) - Appends a custom parameter that displays only the value, left justified, with no editing ability. Can be used in combination with Par.startSection and Par.enable.
 
* [[Par Class]].page member can now return a built-in page.
 
* [[Par Class]].page member can now return a built-in page.
* [[Par Class]] - Added Par.subLabel member.
+
* [[Par Class]].subLabel member added.
 
* [[Par Class]] - Added collapser/collapsable boolean members, these are for collapsable parameters like those found on [[MAT]]s for texture map's [[Texture Sampling Parameters]].  
 
* [[Par Class]] - Added collapser/collapsable boolean members, these are for collapsable parameters like those found on [[MAT]]s for texture map's [[Texture Sampling Parameters]].  
* [[OP Class]].pages() method returns a list of the node's built-in pages.
+
* [[Par Class]].bindRange member added, when true then min, max, clampMin, clampMax, normMin, normMax, normVal values will be based on master [[Binding|bind]] parameter. (Custom Parameters only)
 
+
* [[OP Class]].pages() method returns a list of the operator's built-in pages.
 +
* Added createFolders flag for .save() the functions in COMP, TOP, CHOP, SOP, and DAT classes.
 +
* [[textTOP_Class]] / [[textSOP_Class]] - Added <code>numLines</code> member and <code>lines()</code> method to inspect the text after it has been formatted by things such as word wrap.
 +
* [[textSOP_Class]] / [[textTOP_Class]] - Python objects returned from <code>lines()</code> method now have <code>lineWidth</code> member.
 +
* [[textTOP_Class]] / [[textSOP_Class]] - Added members to access more font metrics such as ascender, descender, capHeight, lineGap and xHeight.
  
 
=== Bug Fixes and Improvements ===
 
=== Bug Fixes and Improvements ===
  
 +
* Upgraded to CUDA 10.1
 +
* [[Geometry COMP]] - Geometry components and applicable object components now display bounding box information in their info popups. This also works with geometry instancing.
 
* [[Notch TOP]] - Added group names as section headers when generating the custom parameters of a Notch block.
 
* [[Notch TOP]] - Added group names as section headers when generating the custom parameters of a Notch block.
 +
* [[Analyze TOP]] - Added options to calculate RGBA independently for Minimum and Maximum operations.
 +
* [[Text TOP]] - Position Units can now be changed when using a [[Table DAT]] to describe text positions.
 +
* [[Text SOP]] / [[Text TOP]] - Kerning renamed to 'Tracking' as that is the more correct term for that feature.
 +
* [[Select CHOP]] - Optimized performance when using wildcards.
 +
* [[Object CHOP]] - Use default values when no Targent and Reference Op are provided.
 
* [[DMX In CHOP]] / [[DMX Out CHOP]] - Increased the baud rate for reading and writing through generic serial interfaces.
 
* [[DMX In CHOP]] / [[DMX Out CHOP]] - Increased the baud rate for reading and writing through generic serial interfaces.
 +
* [[OSC In CHOP]] - Fixed stripping name segments.
 +
* [[OSC In CHOP]] - Renamed 'Strip Prefix Segments' to 'Strip Name Prefixes'.
 +
* [[OSC In CHOP]] - Added 'Reset Values' parameter to reset channel values to 0 without removing the channels.
 +
* [[OSC Out CHOP]] - Enable Send Events Every Cook parameter for Time Slice mode, allowing OSC data to only be sent only when values change.
 +
* [[OSC Out DAT]] - Removed optional input table which didn't make sense in an Output operator context.
 +
* [[OP Find DAT]] - Fixed overcooking issue as well as optimizations in calling the default DAT callbacks.
 +
* [[WebSocket DAT]] - Added 'Reset' pulse parameter.
 
* [[Web DAT]] is deprecated.
 
* [[Web DAT]] is deprecated.
 +
* Custom menu names now allow spaces, Font menus no longer introduce underscores.
 +
 +
=== Known Issues ===
  
 +
* [[Point File In TOP]] - This operator is not working in macOS yet.
  
 
=== BACKWARD COMPATIBILITY ===
 
=== BACKWARD COMPATIBILITY ===
 +
 +
'''BACKWARD COMPATIBILITY''' - Python 3.7.2 has 2 additional [https://docs.python.org/3/reference/lexical_analysis.html#keywords reserved keywords], 'async' and 'await'. Any scripts using these terms will need to be modified.
  
 
'''BACKWARD COMPATIBILITY''' - [[Transform CHOP]] was previously using rotate order as the output order even if the 'Custom Output Orders' was On.
 
'''BACKWARD COMPATIBILITY''' - [[Transform CHOP]] was previously using rotate order as the output order even if the 'Custom Output Orders' was On.

Latest revision as of 23:11, 16 August 2019

Build 2019.30550 - Aug 17, 2019[edit]

New Features[edit]

  • Python 3.7.2 is now the built-in version of python. Backward Compatibility warning, see below.
  • Engine COMP - This component will run a .tox file in a separate process using TouchEngine. *Work in progress*
  • Instancing with TOPs - Keep data on the GPU.
    • On the Geometry COMP you can provide it with a TOP and it will render an instance for every pixel in the TOP. For example, floating point red, green, blue channels can be assigned to the instances' X Y and Z positions.
    • In addition, you are no longer limited to one OP for specifying instancing data. The Instancing pages have been expanded so you can specify TOPs, CHOPs, SOPs, or DATs for every instance attribute interchangably. For example, position from a TOP and color from a CHOP.
  • Point Clouds and general data with TOPs - Working with more data types on the GPU.
    • Point File In TOP - .xyz, .obj, .exr, .FITS/.FIT, .pts, .ply files (Windows only). It will create a square multi-RGBA buffer with pixel format 32-bit floats. Generally it can be set up as one pixel for each point, and the pixels that are unused contain NAN (a special value called Not-A-Number).
      • The operator's pop-up info shows the number of points and channels.
      • An Info DAT attached shows the channel names in the file. The first 4 channels are put into RGBA (buffer 1), the next 4 channels are in buffer 2, etc
    • Buffer Select TOP - Formally known as the Render Select TOP, this TOP is now more general-purpose and can also select buffers from a Point File In TOP if multiple buffers exist.
    • TOP Viewer modes have been extended.
      • 'Normalized Split' displays each channel separately as a normalized grayscale image with min and max values overlaid.
      • 'View as Points' will visualize the data in a 3D Viewer like in SOPs, assuming the RGB channels contain XYZ point data.
  • Math TOP - Ranges can now be changed on individual color channels.
  • Bind CHOP - Use CHOP channels for binding with parameters.
    • Allows for multiple inputs (like old Override CHOP) or the bound parameter to update a channel's value.
    • Includes a 'Callbacks DAT' for querying where the change was initiated and then taking further actions via python script.
    • 'Channel Pickup' parameter doesn't change the value of that parameter until the input value crosses the current value.
  • Binding - Binding to DAT text or table cells is now supported.
  • Function TOP - New TOP allowing mathematical functions to be done on pixels, similar to the Function CHOP.
  • CHOP to TOP - A new option to wrap long channel data into multiple rows of pixels when the channel's length exceeds the GPU's maximum texture width.
  • Video Device In TOP / Video Device Out TOP - Upgraded to Blackmagic SDK version 11.
  • Video Device In TOP - Added support for bandwidth and camera bit depth controls for Ximea cameras.
  • Video Device In TOP - Added support for using the HDMI input from AJA io4K devices.
  • Video Device Out TOP - Added support for Fill + Key pairs for AJA devices.
  • Audio Movie CHOP - Added an option for switching audio tracks when movie files contain multiple tracks.
  • Keyboard In CHOP - Keys are now defined in a space or comma separated list rather than as neighbouring keys on the keyboard. Old files are automatically updated to the new system when they load (only works for constant parameters).
    • Added shift key support to the 'Modifier Key' parameter menu.
    • Added 'Panels' parameter so events are only triggered when the given panel has focus.
  • Mouse In CHOP - Added 'Panels' parameter so events are only triggered when the given panel has focus.
  • Object CHOP - Improvements
    • Reorganization of parameters and pages.
    • Added '4x4 Matrix', '3x3 Matrix', and 'Quaternion + Transform' to the 'Compute' menu.
    • Added "xord" and "rord" channels to Transform output.
    • Added "Swap Target/Reference" toggle parameter.
  • Transform CHOP - Overhauled and improved.
    • Now accepts two inputs. Added 'Invert Input 0' and 'Invert Input 1' parameters. Also added some warnings when two inputs are not compatible or invalid inputs.
    • Added '4x4 Matrix', '3x3 Matrix', and 'Quaternion + Transform' output.
    • Now supports Vector sets and performs Matrix-Vector multiplication.
    • Added Vector/Position options for Input 1.
    • Added toggle parameters to control output.
    • Added Operation and Coefficient parameters for final output values.
    • Added 'Unmatched Channels' parameter.
    • Now accepts xord and rord channels as part of TRS channels.
    • Swapped the Input and Transform pages.
    • Renamed 'Invert' to 'Post Invert' on the output page.
    • Changed the 4 Invert toggles to a menu of Unary Operations.
  • LTC In CHOP / LTC Out CHOP - Improved to support higher frame rates and more.
    • LTC CHOPs now work for higher frame rates.
    • LTC In will now adjust the frame value based on the value in the User 1 channel.
    • User field1 is now automatically used for frame rates over 30.
    • Added an option for LTC In to display the number of 'Total Frames'.
  • Timeline CHOP - Added options for 'Second', 'Absolute Frame', and 'Absolute Second'.
  • Hold CHOP - Added 'Hold per Sample' parameter.
  • Pattern CHOP - Added 'Random Non-Repeating Integers' to the 'Type' menu which will randomly change values whenever the 'Randomize' pulse parameter is pressed.
  • Web Server DAT - New DAT which runs a web server in TouchDesigner, currently supports handling of HTTP requests and webSocket connections. How client requests are handled is left up to the user via a 'Callbacks DAT'.
  • Web Client DAT - New DAT that acts as a web client. This replaces the deprecated Web DAT. Includes request() python method.
  • SocketIO DAT - New DAT for extended socket.io functionality, separate from the older functionality of the WebSocket DAT.
  • Raster SOP - New SOP that takes a TOP and converts it into a single-line SOP that can be used with the Laser CHOP.
  • Aligning SOPs to their X, Y, and Z axes: Rectangle SOP / Box SOP / Circle SOP / Grid SOP / Sphere SOP / Superquad SOP / Torus SOP / Tube SOP - Added 'Anchor' parameters to main SOP generators. The position stays stationary regardless of rotate and scale settings.
  • Text SOP - Added 'Vertical Align' parameter with options: First Line, Top, Center, Bottom. The chosen field will be aligned to the x-axis.
  • Text SOP - Added 'Scale Font to BBox Height' parameter to scale the font's vertical size so it's based on the vertical bounding box of the font, rather than the typical way a font is sized.
  • Select SOP - Now allows multiple input ops to be specified in the 'SOP' parameter, acting like a Merge SOP.
  • Merge SOP - Added 'SOPs' parameter to accept multiple SOPs by reference.
  • Join CHOP - Added 'CHOPs' parameter to accept multiple CHOPs by reference.
  • DATs - Execute DATs will now accept multiple OPs to monitor.
  • Replicator COMP - Added a new onRemoveReplicant() callback to destroy replicators.

New Python[edit]

  • Header parameter type added which acts as a label and section divider. It is like parameter sections but you can give it a text string label.
  • Page Class - methods and members will now also work for built-in pages.
  • Page.appendHeader(name) - Appends a custom parameter that displays only the value, left justified, with no editing ability. Can be used in combination with Par.startSection and Par.enable.
  • Par Class.page member can now return a built-in page.
  • Par Class.subLabel member added.
  • Par Class - Added collapser/collapsable boolean members, these are for collapsable parameters like those found on MATs for texture map's Texture Sampling Parameters.
  • Par Class.bindRange member added, when true then min, max, clampMin, clampMax, normMin, normMax, normVal values will be based on master bind parameter. (Custom Parameters only)
  • OP Class.pages() method returns a list of the operator's built-in pages.
  • Added createFolders flag for .save() the functions in COMP, TOP, CHOP, SOP, and DAT classes.
  • textTOP_Class / textSOP_Class - Added numLines member and lines() method to inspect the text after it has been formatted by things such as word wrap.
  • textSOP_Class / textTOP_Class - Python objects returned from lines() method now have lineWidth member.
  • textTOP_Class / textSOP_Class - Added members to access more font metrics such as ascender, descender, capHeight, lineGap and xHeight.

Bug Fixes and Improvements[edit]

  • Upgraded to CUDA 10.1
  • Geometry COMP - Geometry components and applicable object components now display bounding box information in their info popups. This also works with geometry instancing.
  • Notch TOP - Added group names as section headers when generating the custom parameters of a Notch block.
  • Analyze TOP - Added options to calculate RGBA independently for Minimum and Maximum operations.
  • Text TOP - Position Units can now be changed when using a Table DAT to describe text positions.
  • Text SOP / Text TOP - Kerning renamed to 'Tracking' as that is the more correct term for that feature.
  • Select CHOP - Optimized performance when using wildcards.
  • Object CHOP - Use default values when no Targent and Reference Op are provided.
  • DMX In CHOP / DMX Out CHOP - Increased the baud rate for reading and writing through generic serial interfaces.
  • OSC In CHOP - Fixed stripping name segments.
  • OSC In CHOP - Renamed 'Strip Prefix Segments' to 'Strip Name Prefixes'.
  • OSC In CHOP - Added 'Reset Values' parameter to reset channel values to 0 without removing the channels.
  • OSC Out CHOP - Enable Send Events Every Cook parameter for Time Slice mode, allowing OSC data to only be sent only when values change.
  • OSC Out DAT - Removed optional input table which didn't make sense in an Output operator context.
  • OP Find DAT - Fixed overcooking issue as well as optimizations in calling the default DAT callbacks.
  • WebSocket DAT - Added 'Reset' pulse parameter.
  • Web DAT is deprecated.
  • Custom menu names now allow spaces, Font menus no longer introduce underscores.

Known Issues[edit]

BACKWARD COMPATIBILITY[edit]

BACKWARD COMPATIBILITY - Python 3.7.2 has 2 additional reserved keywords, 'async' and 'await'. Any scripts using these terms will need to be modified.

BACKWARD COMPATIBILITY - Transform CHOP was previously using rotate order as the output order even if the 'Custom Output Orders' was On.

BACKWARD COMPATIBILITY - Transform CHOP had Output Channels parameter removed, replaced by output toggles to customize the output channels.

BACKWARD COMPATIBILITY - Function CHOP fixed an issue where tanh(x) was being calculated as tan(x).

The Graphics Processing Unit. This is the high-speed, many-core processor of the graphics card/chip that takes geometry, images and data from the CPU and creates images and processed data.

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.

An Operator Family which operate on Channels (a series of numbers) which are used for animation, audio, mathematics, simulation, logic, UI construction, and many other applications.

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 manipulates text strings: multi-line text or tables. Multi-line text is often a command Script, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.

A Link.

The term "Frame" is used (1) in the Timeline, (2) as a time-unit in CHOPs, (3) as a time-unit in TOPs, and (4) with movies images which are read and created with TOPs.

An Operator Family that reads, creates and modifies 3D polygons, curves, NURBS surfaces, spheres, meatballs and other 3D surface data.

An Operator Family that contains its own Network inside. There are twelve 3D Object Component and eight 2D Panel Component types. See also Network Path.

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".

A Time Slice is the time from the last cook frame to the current cook frame. In CHOPs it is the set of short channels that only contain the CHOP channels' samples between the last and the current cook frame.