sales@scenomics.com +1 650 396 9674


Release Notes

Release details are described below.

Table 1.1. Description of Changes.

Change Log

Fixed a bug in vector array class data interfaces such as <Float32VectorArray> or <Int64VectorArray>. The data interface SSL::PackScalarArrayInVectors incorrectly packed values into three-dimensional vectors. This may have affected Shader app documents, where uniform variables representing arrays of three-dimensional vectors were declared and initialized in the GLSL. For example, the following GLSL would be affected:

uniform i64vec3 my_vector[4] = i64vec3[4](
   i64vec3( int64_t(  1 ), int64_t(  2 ), int64_t(  3 ) ),
   i64vec3( int64_t(  4 ), int64_t(  5 ), int64_t(  6 ) ),
   i64vec3( int64_t(  7 ), int64_t(  8 ), int64_t(  9 ) ),
   i64vec3( int64_t( 10 ), int64_t( 11 ), int64_t( 12 ) ) );
                           

In this example, the initializer values were not correctly packed into the <Int64VectorArrayNode> created during the Shader app build process.

Fixed a bug in SSL::TYPE_GLSLANG_UTIL.SSL. During a recent change related to the final work related to the conversion to iterator-based algorithms, some of the array views were initialized before the array itself had been allocated. This meant that empty iterators were passed to algorithms. The bug would have been visible when <VariableNode> objects were inspected in the property sheet. Instead of seeing value from initialization as expected, the property sheet would show all zeros.

Updated the Shader app exporter feature. Previously, the Shader app used a popup menu for export, which required the user to implement export commands as separate macros, and then manually install the macro in the Export popup on the File menu. The Export popup menu is now dynamic. When Export popup menu is activated, it scans the application scripts directory and finds all scripts that begin with app_shader_export. These scripts are then registered as exporters. Each exporter library must have a function function bool GetExporterMenuItemName( Str p_oTitle ) that specifies the name of the exporter in the popup menu, and must also have a function function bool Execute( StrList p_slMessages ) that performs the export. If applicable in your version of Scenome, please find example code in app_shader_export_raspberry_pi_3_dot_2_util.ssl.

Fixed a bug in the vector array class utility libraries ::Out( ... ) functions. These functions did not multiply the count of the array by 4, which caused the print operation to be incomplete.

Replaced calls to SSL::BindIterator() with calls to SSL::GetView() wherever possible. This greatly simplifies the codebase where applicable.

Updated all SSL code comments that refers to double to refer to float64 instead.