+1 650 396 9674

Release details are described below:

Change Log
Completed Phase 4 of the conversion to iterator-based algorithms. This required revisiting the <DataCapture> API and preparing it for changes required during the process of converting Scenome Scripting Language to use iterator-based algorithms. These changes allow completely dynamic data capture between <VariableNode> objects, which is very important for many types of shaders. For example: this allows changes in one node to automatically propogate throughout the document, without executing a command. This makes the application much more responsive in many use cases.
Added custom property editing infra for the <DataCapture> objects. Previously, not very many <DataCapture> objects used custom properties because they were difficult to implement. The new system allows you to edit the properties of the texture readback data capture objects (such as <Float32ArrayDataCaptureReadTexture>), and the value generation objects (such as <Float32ArrayDataCaptureArray>).
Added support for reading back sub-images. This is a very useful addition. Now if you create a <Texture> readback, you can double click the <VariableNode> in which the <DataCapture> object is resident and you can configure the sub-rectangle capture parameters. For example: you can set the start x/y position and the size of the region to read back. At present this only allows read back of the first MIP map, but this will be updated in a subsequent release.
Added support for reading back sub-images to SSL::Render3D data interfaces. You can read back all common formats into scalar arrays or vector arrays.
Added filtering the to Data Capture Wizard to only display types that are useful and compatible with the specified <DataCapture> type.
Added additional types such as <Float32ArrayDataCaptureArray> to the Data Capture Wizard.
Added a missing nullptr guard to the Data Capture Wizard.
Added support for disabling the OK button in the <ControlPopupDialog> This allows you to write wizards where the OK button remains disabled unless certain requirements are met.
Expanded <DataCaptureIndices> to include parameters for data capture algorithm. This will allow fine-grained control over how to capture data in node-to-node capture scenarios. For example: you can configure the data capture scenario to capture a region of one array and copy that region to a region of another array.
Finished iterator support for <Float32MatrixArray> and <Float64MatrixArray>. This required the removal of the Flags data member, which was only rarely used.
Added 'ScalarCount' data member to <ExpressionInfo>. This computes the scalar count for a scalar, scalar array, vector, vector array, matrix, or matrix array <VariableNode> type. The scalar count is the total number of scalars. For example: <Float32VectorArrayNode> has a scalar count of [4 × array count]. <Float32MatrixNode> has a scalar count of [4 × 4].