RealSense Cubemos skeleton tracking, OpenCV4.5, OpenVR CHOP updated, New Spectrum TOP, Lens Distort TOP and Script TOP extended, .E57 point cloud file support, Web Render TOP media stream support, new ParTuple class for working with parameters, bug fixes and improvements.
Release Notes
Note that experimental builds include new features still in development. For the stability and reliability required for performances and project deliveries, we recommend using the production ready Official Builds.
NOTE: Numerous changes in this build are not backward compatible, refer to BACKWARD COMPATIBLE section below.
Dec 03, 2020
New Features
-
RealSense - BACKWARDS COMPATIBILITY WARNING - Removed support for the old Windows SDK and its tracking features. RealSense CHOP/RealSense TOP will now only support the cross platform librealsense API.
-
-
libs and headers used for OpenCV are now available in the Samples/CPlusPlus/3rdParty folder for easy use of OpenCV with C++ and Custom Operators.
-
Standardization of Look At - All OPs that do 3D transforms now have the same capability to make a chosen axis (+ or -X, Y or Z) point to the origin of another object, with control of an up-direction.
-
Geometry COMP - 'Rotate To/Look At' now has a control for Forward Direction. This controls what axis will be rotated to point towards the desired target.
-
Transform CHOP - Added 'Look At' parameters to create a rotation that aligns a given axis towards another object.
-
Transform SOP - Added 'Forward' parameter to determine which axis is pointed towards the Look At object.
-
-
Spectrum TOP - New TOP that performs OpenCV's Discrete Fourier Transform (DFT) operation via CUDA (Windows - Nvidia Only).
-
Web Render TOP - Added options to 'Enable Media Stream' which enables the mic and camera to be used by web pages. Also included an option to specify a 'User Cache Directory'.
-
Video Device In TOP - Updated Flir camera support via Spinnaker SDK (previously called Point Grey cameras).
-
Added support for controlling camera options and manual capture triggering for Flir cameras.
-
Added ability to load presets for Flir cameras.
-
-
Kinect Azure CHOP - Added parameters to mirror image positions vertically and to output aspect correct UVs. Older files will default to mirrored UVs for backwards compatibility.
-
OpenVR CHOP - Overhauled to bring more inline with Steam configurations and brings support for Valve Index.
-
Added default bindings for Valve Index controllers.
-
Custom action manifests can now be selected to create CHOP channels filled in with values from arbitrary StreamVR controller bindings.
-
Added support for outputting Hand Skeleton Channels.
-
Added support for Finger Curl channels in skeleton mode.
-
-
TOP to CHOP - Added parameters to exclude pixels with NaN values, or to exclude pixels with a zero in a selected mask channel. TOPs that can be used for point clouds (Point File In TOP, Math TOP, Point Transform TOP) and Geometry COMP instancing with TOPs use NaN (not a number) or 0 in an alpha channel to indicate that the pixel is to be ignored.
-
Parameter Execute DAT - New callback 'On Values Changed' that includes all values that changed during the frame in a single list.
New Python
-
COMP Class.extensionsReady now dependably recooks in expressions.
-
CUDAMemory Class - Has new 'shape' member that better describes the width/height, number of components and dataType of the CUDA memory. Held in a CUDAMemoryShape Class.
-
tdu.Dependency - These objects can now be used in bind expressions.
-
Par Class.help - Get or set a custom parameter's help text. To see any parameter's help, rollover the parameter while holding the Alt key.
-
ParTuple Class - The new ParTuple class treats groups of parameters as one unit, such as XYZ positions, RGBA colors, UV coordinates. They can be set in one expression and retrieved as a group. For example, n.parTuple.t = [2, 3, 1] is equivalent to setting n.par.tx, ty, tz.
-
They are iterable. For example: [p.name for p in n.parTuple.t]
-
Added support for drag-n-drop callbacks (both as source, and received).
-
-
TOP Class - numpyArray() has new 'neverNone' boolean keyword argument. Will always return an image when this is True, even if delayed. In the case it wouldn't have in the past, it stalls until the image is downloaded.
-
WebclientDAT Class.request - Added 'pars' keyword.
-
WebclientDAT_Class.request - BACKWARD COMPATIBILITY Data keyword will no longer implicitly add to query parameter list for non-postfield HTTP operations (eg. GET). For adding query parameters instead use the new 'pars' keyword.
New Palette
-
Palette:camera improvements
-
Added FrameLookAt function to camera palette component and shortcut keys for viewing top, left, right, etc
Bugs Fixes and Improvements
-
Parameter COMP - Display custom parameter pages with no parameters.
-
CHOP to TOP - BACKWARDS COMPATIBILITY WARNING Reworked Fit to Square layout. Auto-calculated image dimensions may no longer be the same as in previous versions.
-
Line MAT - Force face culling to be off to avoid missing parts of lines in scenes where face culling is globally on.
-
Audio Stream Out CHOP - Now works correctly on macOS.
-
TOP to CHOP - The default color is now used to fill in shorter channels when pixels have been excluded because of the active or NaN parameters.
-
WebSocket DAT - Fixed onConnect()/onDisconnect() callbacks being triggered when there is no WebSocket connection
-
Custom Operators - Calls to the plugins are now wrapped in try/catch clauses to avoid crashing if there are bugs in the plugin code. Will emit a node error instead.
-
Matrix Class - BACKWARD COMPATIBILITY WARNING When building a Matrix from a Table DAT, fix the matrix being incorrectly transposed.
-
Widgets - Fixed vertical slider UI and various other widgets breaking when updating to the latest version.
-
Some improvement to camera controls in 3D viewers.
-
Fixed broken outline shader in 3D viewers on macOS which resulted in red and blue checkerboard when geometry selected.
-
Fixed a number of crashes.
-
Loading crash when Time Component inside clone.
-
Crash when attaching input to Sequencer CHOP.
-
MacOS Movie File In and Movie File Out crashes that could occur.
-
Fixed a crash when trying to render some unicode newline characters.
-
Fixed crash on self deleting 'Help DAT' in panel.
-
Fixed crash that could occur on loading an empty file into a Table DAT.
-
Fixed crash with odd copy case in COMP.copy() method.
-
Fixed crash that could occur when entering/exiting Perform Mode.
-
Backward Compatibility
-
BACKWARD COMPATIBILITY WARNING RealSense - Removed support for the old Windows SDK and its tracking features. RealSense CHOP/RealSense TOP will now only support the cross platform librealsense API.
-
BACKWARD COMPATIBILITY WARNING OpenVR CHOP - Left and Right Controller toggles have been removed, both controllers will always be output in that mode now.
-
BACKWARD COMPATIBILITY WARNING CHOP to TOP - Reworked Fit to Square layout. Auto-calculated image dimensions may no longer be the same as in previous versions.
-
BACKWARD COMPATIBILITY - WebclientDAT_Class.request data keyword will no longer implicitly add to query parameter list for non-postfield HTTP operations (eg. GET). For adding query parameters instead use the new 'pars' keyword.
-
BACKWARD COMPATIBILITY WARNING Matrix Class - When building a Matrix from a Table DAT, fix the matrix being incorrectly transposed.
Known Issues
-
Font Size on Windows and Font Type on macOS are not the standard defaults in DAT viewers, Textport, parameter dialogs and other parts of the UI. Using stand-ins for now while waiting for a 3rd party library fix.