Kanzi 3.9.10 release notes¶
Smart materials¶
Introduced smart materials and material rules:
Smart materials automatically adjust the required preprocessor definitions when you change the material properties. Smart materials adapt to meshes too. For example, smart materials adjust automatically when a mesh uses morphs or skinning.
Material rules allow you to automate the definition of shader preprocessors for material inputs and vertex attributes. This way you can add or change any material property and the material type automatically sets the required preprocessor definitions.
Rendering¶
You can now customize how Kanzi creates mipmaps for the composition targets of the Cubemap Render Pass and Composition Target Render Pass render passes. See Creating mipmaps for composition targets.
Introduced the Image-Based Lighting Filter Pass render pass preset. The preset allows you to render Environment Ambient Texture and Environment Reflection Texture in real-time. See Rendering cubemaps for dynamic image-based lighting.
Improved the quality of rough specular reflections when using image-based lighting with the Physically-Based Rendering material types:
You can now specify in Physically-Based Rendering material types which mipmap level of the Environment Reflection Texture to map to full roughness using the new KANZI_SHADER_ROUGHNESS_ONE_LOD_OFFSET preprocessor definition. The default value of this preprocessor definition is
3
, to use the fourth last mipmap level. See Changes to physically-based rendering materials.The reflection direction used for sampling the Environment Reflection Texture is now bent towards the normal of the surface with higher roughness values with Physically-Based Rendering material types.
Unified property type name validation when you rename a property type in Kanzi Studio.
Target Preview¶
Introduced the Target Preview. It enables you to see in real-time on a target device the changes that you make in a Kanzi Studio project without exporting and redeploying the application. See Target Preview.
Kanzi AppView¶
Introduced Kanzi AppView plugin that allows you to embed Android applications in a Kanzi application. See https://docs.kanzi.com/appview/0.8.2.
Animations¶
In the Kanzi Studio user preferences, you can now set keyframe snap mode for the Animation Editor. See Animation clip editor toolbar.
In the Animation Editor:
To temporarily activate the Snap tool, hold down the Shift and Alt keys.
You can now select from a wider selection of keyframe easing functions. See Setting the easing function between keyframes.
You can interact only with the selected animations. The unselected animations have reduced opacity.
Split View¶
In Kanzi Studio, you can now open the View window that shows your application from the perspective of the Preview camera. In the View, you can only interact with your application.
To enable the View window, in the Edit > User Preferences in the Advanced tab, set the Use Split View workflow to enabled. See Preview.
Split View is an experimental feature and your feedback is very important to us. To submit your feedback, use the form at https://forms.office.com/e/JcTpTkqGW9.
Kanzi Java API¶
You can now use the
ResourceManager.ResourceUsage
class to query the resource count, and CPU and GPU memory use.You can now use the
ResourceManager.unregisterResource
function to unregister a loaded resource.
Windowing¶
QNX platform packages for CMake now include
DefaultQnxEGLGraphicsOutput
andQnxEGLPBufferGraphicsOutput
. Previously, this was available only in SCons packages.You can now stream Kanzi output into a QNX stream. See
qnx::QnxStreamEGLGraphicsOutput
.On QNX, you can now set the context type flags that you want your Kanzi application to use. See QNX context type selection.
EGL context client version:
Added options to select the EGL context client version.
You can now ask Kanzi to use an unspecified ES version.
The default EGL context client version changed from
EGLContextClientSelection::Unspecified
toEGLContextClientSelection::Automatic
.Wayland and QNX graphics outputs previously used
es3
as the default value for the EGL context client version. The new default value isEGLContextClientSelection::Automatic
. This prevents crashes on systems that do not support ES3, notably Ubuntu 20.04 on Wayland.
Kanzi Studio usability¶
You can now control the position of a Camera node when you use the Node tool in the Preview window. See Setting the position of a Camera node
To move with the Orbit Camera, hold down Alt and use these controls:
Click and drag the left mouse button to rotate.
Click and drag the middle mouse button to pan.
Scroll the mouse wheel to zoom.
To move with the Free Camera, hold down the right mouse button and use these controls:
Move the mouse to tilt and rotate the camera angle in any direction.
Use W, S, A, and D to move the camera position forward, backward, left, and right.
Use E and Q to move the camera position up and down.
Scroll the mouse wheel to set the camera speed.
Hold down Shift to double the speed when moving.
Use F to bring the camera to the 3D object selected in the Preview
You can now see the information about the camera speed and radius in the Preview status bar.
The color editor now includes a hexadecimal field.
Documentation¶
Added an example that shows how you can add Kanzi to an Android System Alert window. See Android System Alert example.
Notable fixes¶
Kanzi Engine¶
Fixed the issue that caused Kanzi to terminate when you use a Cubemap Render Pass with bindings. (RENDERING-1024)
Fixed the issue that prevented using mipmaps with Cubemap Render Target Texture. (RENDERING-1028)
Fixed the issue that caused HDR half-float textures to sometimes contain infinite values. (RENDERING-1149)
Added implementations for
Mesh::setInstanceData
andMesh::setInstanceSubData
functions which were declared, but not implemented. (RENDERING-1193)
Kanzi Studio¶
In a Message Trigger, the Message Source dropdown now shows only the relevant items. (PRODUCT-410)
Fixed the issue that caused Kanzi Studio to terminate when you import a PSD file that contains a large amount of layer groups. (PRODUCT-409)
Fixed the issue that caused the Preview to terminate when you in the Data Sources window set the XML Data Source File to an invalid file path. (PRODUCT-110)
Fixed setting the property type editor
Slider.PropertyGridEditor
for the float data type. (PRODUCT-528)
Kanzi Android framework (droidfw)¶
Fixed the issue that caused the frame rate of Kanzi in Android applications using Kanzi Android framework (droidfw), to occasionally rise above the set limit, when you manually toggled the visibility of the view using
KanziViewAdapter.handleVisibilityChange
. (ANDROID-668)