sales@scenomics.com +1 650 396 9674


Release details are described below:

Change Log
Application command: "Clone Texture...". Previously this command was implemented in two separate macros. A macro to create a <NodeLink> and a macro to create a simple clone of a <Texture> This macro now can clone to a <NodeLink>, clone to a direct clone that refers to the same file on disk, or it can clone to a direct clone that refers to a copy of the file on disk. In the event that you want a clone to refer to a copy of the file on disk, the application prompts you to choose the new file name.
Application command: "Load Event Handler Preset". Previously this command used multiple dialogs. Now there is a single dialog implemented by a <ControlPopupDialog> object. Please see app_service_event_handler_wizard_util.ssl in the application scripts folder.
Application command: "Clone Compute Pass". Converted this to a single step process using a <ControlPopupDialog>, and added support for creating a <MemoryBarrierNode>. Previously this command used two <EnterTextDialog> objects to the user to handle renaming, and it required a separate step to create a <MemoryBarrierNode>. See TYPE_PROGRAM_EXECUTE_SCRIPTS.SSL::CloneProgramExecuteResources.
Application command: "Build All". Added code to create the .BLD file if it does not exist. Previously this code assumed that a .BLD file existed and triggered an SSL file opening failure assert in the event that the file did not exist. See APP_SHADER_SCRIPTS.SSL::ShaderExecuteBuild() and APP_SHADER_UTIL.SSL::CreateBuildDocuments()
<ScalarArrayAlgorithms>::Interleave. Fixed a bug that caused the interleave algorithm to fail when it should succeed. Previously, to verify the source data could be interleaved into the destination data, a test was performed that computed the modulo of the source array count and the destination channel count. This test should compute the modulo of the destination array count and the destination channel count. This did not cause widespread problems because most images are power of two and generally divisible by 4, which is the most common destination channel count. Please verify that any calls to <ScalarArrayAlgorithms>::Interleave in your SSL codebase are still operating correctly.
Fixed serialization bugs in <Float32MatrixArray> and <Float64MatrixArray>. This did not cause document load failure, but could sometimes cause failures during accesses to these objects via pointers. For example, trying to access the <Float64MatrixArray> stored by a <Float64MatrixArrayNode> in the following manner:

   Float64MatrixArrayNode a_oNode = LibSelect.FirstFloat64MatrixArrayNode();
   Float64MatrixArray a_oArray = a_oNode.GetArray(); // Silently fails... and a_oArray is not a good pointer.
   Float64Matrix a_oMatrix = a_oArray.Get( 0 ); // This statement could be problematic because a_oArray is bad.
                           
This bug usually caused the application to terminate.