Kanzi 3.9.4 release notes¶
New features¶
Environment maps. Kanzi Studio can now create environment and image-based lighting cubemap textures from latitude-longitude HDR images. You can use these cubemap textures to create skyboxes, simulate environment lighting, and create reflections on the surface of 3D nodes. See Using environment cubemap textures and Using image-based lighting cubemap textures.
New functionality for binding expressions. You can now use binding expressions to:
Introduced thread naming and thread action callbacks. Introduced callbacks to run on thread creation and when Kanzi assigns work to a loader thread. See Resource loading.
New functionality for primitive meshes. You can now set:
The tessellation level of any primitive mesh. See Setting the tessellation level of a primitive mesh.
The tessellation type of a sphere mesh. See Setting the tessellation type of a sphere mesh.
Feature improvements¶
Introduced application configuration that enables you to set the preferred multisampling method. See MultisamplePreference.
All binding operations now accept the lowerCamelCase naming convention. See Bindings expressions reference.
Improved the performance of the Activity Browser.
When you use the iType font engine, Kanzi now supports word wrapping for Thai language. See Font engine dictionaries.
In Kanzi Studio you can now create a project that contains only the Screen node in the node tree and does not contain the default Kanzi resources, such as the Default Texture and the DefaultBackground textures.
For example, you can use such projects to store resources that you want to reuse across projects in a multi-project Kanzi application. See Combining Kanzi Studio projects into a Kanzi application.
Kanzi Android framework (droidfw) now tracks the effective user-visibility of each connected view, and skips the rendering of hidden views. This improves performance in applications with offscreen views. See Handling the user-visibility of views.
Improvements to render passes:
Introduced in the Pipeline State Render Pass the Polygon Depth Offset property that applies a depth offset to the rendered elements.
For example, you can use this property to render decals without z-fighting. See Rendering decals.
Introduced for the Composition Target Render Pass the Depth Renderbuffer Format property which you can use to set the format of the depth renderbuffers. See Rendering content to composition targets.
Added the functionality that enables you to horizontally scale text in Text Block nodes. See Fitting text into a Text Block node.
The Android application with Java plugin template now contains a simple unit test project for the plugin.
Improvements to focus handling:
Introduced the Focus On Press property that you can use to set keyboard focus to a node that the user presses. See Setting focus to a node that the user presses.
Introduced properties that you can use to control whether to set keyboard focus to an activating Activity. See Controlling whether to set focus to an activating Activity.
Added the functionality to Kanzi Studio that enables you to reimport PSD files that you previously imported to your Kanzi Studio project. See Reimporting a PSD file.
Changes¶
Replaced the Face to Camera, Face to Camera is Billboarding, and Face to Camera Cylindrical boolean properties with the Face to Camera Mode enumeration property. See Changes to the Face to Camera properties of 3D nodes and Making nodes turn to a Camera node.
The rendering of text and all 2D geometry, including 2D nodes, is now compatible with WebGL. See Changes to text and 2D geometry rendering.
Changed the version of the kzb file format to 18.0.
Documentation¶
Redesigned and added more detail to the tutorial where you can learn about the structure of Kanzi sliders and how to create your own slider. See Tutorial: Creating a slider.
Added instructions on how to build your Kanzi application for QNX using CMake. See Deploying Kanzi applications to QNX.
Notable fixes¶
ID |
Description |
Area |
---|---|---|
193755 |
The Look At property now works with all 3D nodes, not just the Camera nodes. |
Kanzi Engine |
358796, 360698, 413518 |
Fixed the issue that prevented the Key Manipulator from handling numeric keys and modifier keys. |
Kanzi Engine |
384766 |
Fixed the order of the criteria that determine where Kanzi moves keyboard focus when a focused Activity deactivates in a Parallel Activity Host. The order is now:
|
Kanzi Engine |
409365 |
Fixed the issue that caused Kanzi to flatten an object that rotated to face a camera using the cylindrical mode. |
Kanzi Engine |
412227 |
Fixed the issue that caused the Activity Browser to show deleted properties of Activity Hosts. |
Kanzi Engine |
412462 |
Fixed the issue that prevented the Grid List Box nodes from receiving the Key Navigation Started ( |
Kanzi Engine |
413202 |
Fixed the issue that prevented an Apply Activation Action from activating an Activity. |
Kanzi Engine |
175797, 219073 |
When you want to make a 3D node turn towards the default camera of the Scene, you no longer have to set the Face to Camera Target Camera property. It is enough to set the Face to Camera Mode property. |
Kanzi Studio |
200162 |
Fixed the issue in the Preview that caused the Camera tool reset to jump to the wrong position when using the free camera. |
Kanzi Studio |
411933 |
Fixed the issue that caused empty animation child clips to crash the Preview. |
Kanzi Studio |
412318 |
Fixed the regression in the Trigger Action Kanzi Studio Plugin API by adding the method |
Kanzi Studio |
412845 |
Fixed the issue that prevented the Activity Browser from showing the root Activity Host when you created it using the Create root Activity Host button in the Activity Browser. |
Kanzi Studio |
416907 |
Fixed the issue that caused animations to continue playing in the Preview even after the animation data is deleted. |
Kanzi Studio |
422629 |
Fixed the issue that prevented building of Kanzi applications for projects using C++ Code Behind. See Changes to C++ Code Behind. |
Kanzi Studio |