News
Scenome 21.41 — 10/17/2121
Release details are described below.
Table 1.1. Description of Changes.
Change Log |
---|
Major video system upgrade. Added support for working natively in YUV420P, NV12, or YUYV. |
Updated template documents for video export. This includes disabling export on all nodes we don't plan to export to a particular platform. |
In the template shaders, removed all platform #ifdefs, updated all these shaders to no longer use the video coords transformation that maps the non-square video onto the square rectangle sheet using letter boxing or column boxing. Finally, removed unsupported vertex attributes and uniform declarations. |
Changed <RectanglePrimitive> dimensions to match video aspect ratio of our default file. We will need to make sure that this matches other aspect ratios, but that will be implemented in a future. |
Added data interface overloads for <RectanglePrimitive>. For 17 years, the data interfaces for <RectanglePrimitive> have been '.XMin', '.YMin', '.XMax', and '.YMax', which are slightly more difficult to type. Added data interface aliases that support typing '.MinX', '.MinY', '.MaxX', and '.MaxY'. |
In the <ValidateNodeCreateContext> data interface, disabled the code that removes nodes marked as non-exporting from the template nodes that are copied from the template document into the <NodeBuffer>. Some user code may need to make a adjustments by removing nodes from the <NodeBuffer> object submitted to the <ValidateNodeCreateContext> data interface. Guidance is to check all call sites to <ValidateNodeCreateContext::CreateNodesFromTemplate> and <ValidateNodeCreateContext::ImportNodesFromTemplate>. |
Added commands for disabling export and disabling data capture to all <VariableNode> derived class command menus. |
Added to VariableNode a 'Data Capture Enabled' flag to activate or deactivate data capture in the <VariableNode> derived class ::GenerateValue methods. It's frustrating to be unable to disable data capture. When data capture is enabled, you can't overtype values in <VariableNode> derived class property sheets (or through any other means). This means you have to temporarily clear the <DataCapture> objects from the <VariableNode> in order to type in custom values (for example: while debugging). |
Added Scenome Scripting Language library: TYPE_IMAGE_FILL_BY_VALUE_NV12_UTIL.SSL. This library allows you to fill video frame images that use the NV12 pixel format. |
Added Scenome Scripting Language library: TYPE_IMAGE_FILL_BY_VALUE_YUYV_UTIL.SSL. This library allows you to fill video frame images that use the YUYV pixel format. |
Added new algorithms for working with YUV data to <Uint8ArrayAlgorithms>. The new algorithms are <Uint8ArrayAlgorithms>::ConvertRgbToYuv( ... ), <Uint8ArrayAlgorithms>::ConvertRgbToSeparatedYuv( ... ), <Uint8ArrayAlgorithms>::ConvertRgbToYuyv( ... ), and <Uint8ArrayAlgorithms>::ConvertRgbToSeparatedYuyv( ... ). Note that the RGB-to-YUV variations work YUV420P and NV12 data, and the RGB-to-YUYV variations work with YUYV data. This is because YUV420P and NV12 are planar/semi-planar, and YUYV is not planar. Please see the <Uint8ArrayAlgorithms> data interface documentation for more information. |
Dozens of minor changes, clean up, and other minor improvements. |