Kanzi 3.9.11 release notes

Rendering

  • Introduced materials that you can use to create lat-long (equirectangular) environment textures:

    • LatLongSkybox allows you to render lat-long (equirectangular) environment textures as skyboxes.

    • LatLongCubemapBlit allows you to blit lat-long (equirectangular) environment textures to cubemaps.

    See Using a lat-long environment texture.

    ../../_images/environment-map-rotation.gif
  • Introduced GPU-based cubemap processing for HDR environment textures. This improves the performance of importing HDR environment textures as environment cubemap or image-based lighting cubemap textures.

    By default, Kanzi uses GPU-based cubemap processing. To use the slower, CPU-based cubemap processing, in the User Preferences, disable the Use GPU-based cubemap filtering option.

    ../../_images/user-preferences-gpu-based-cubemap-filtering.png
  • In the Properties, you can now drag and drop material rules to reorder them, and rearrange material rule conditions and actions.

Activities

You can now set Kanzi to preserve an Activity instance when you deactivate that Activity. When you activate such an Activity again, Kanzi restores the Activity and shows it in the same state as it was before the deactivation. See Activity persistence.

../../_images/properties-keep-alive.png

Kanzi Studio usability

  • The code editor now supports code completion for the GLSL programming language. To show code completion options, in the code editor, press Ctrl Space. See Editing shaders.

    ../../_images/code-editor-code-completion.gif
  • Introduced the dark theme for the code editor. You can toggle the editor theme in the User Preferences in the General tab.

    ../../_images/user-preferences-dark-theme.png
  • In the Library > Project References, you can now modify the file path for an existing kzb referenced file. The file path is now relative to the project root directory.

    ../../_images/existing-kzb.png
  • From the context menu in the Node Tree, you can now place:

    • A node to the position of the current view of the Camera in the Preview

    • The Preview view to the location of any node

    See Setting the position of a Camera node.

    ../../_images/node-tree-align-view-align-to-selected.png
  • You can now focus the current view of the Camera on the selected node with the Focus To Selected context menu command, or with a double-click (for non-prefab nodes) on the selected node in the Node Tree.

    ../../_images/node-tree-camera-focus.png
  • You can now create a Linked Material Type that Kanzi Studio automatically synchronizes with a Material Type in a referenced project. When you no longer want to synchronize a Linked Material Type with the Material Type in the referenced project, you can convert it to a regular Material Type. See Adding a Material Type to your project.

    ../../_images/create-linked-material-type.png
  • When you restart the Preview in a multi-project solution, Kanzi Studio now starts the Preview for the currently selected project.

Kanzi USD Importer

Introduced Kanzi USD Importer plugin that allows you to import Universal Scene Description files to a Kanzi Studio project. See https://docs.kanzi.com/usd-importer/1.0.0.

../../_images/kanzi-usd-importer.png

Cluster template

Added to the Kanzi Project Templates a step-by-step guide that shows how you can create an automotive cluster from a Figma design. See https://docs.kanzi.com/project-templates/3.9.10.

../../_images/cluster-overview.gif

Preview

When shutting down, the Preview now destroys the application and created Kanzi Engine objects, and shuts down gracefully. For example, this allows you to handle the closing of the Preview in your Kanzi Engine plugin through the onDetach method, and the KanziPreview now always stops with the closing of Kanzi Studio.

Kanzi Studio plugin API

Improved the creation of bindings in the Kanzi Studio plugin API:

Platforms

Changes

  • You can now pass hexadecimal values to the Kanzi system configuration. For example, this allows you to use a hexadecimal value to set the window order. See Application window position and size.

  • Updated HarfBuzz from 5.3.1 to 8.3.0.

Notable fixes

Kanzi Engine

  • Fixed the issue that caused Kanzi file protocol file:// to show a bad error message when the loaded file is missing. (SDK-9468)

  • Fixed the issue that caused Kanzi file protocol file:// to fail loading font files with the otf extension. (SDK-9488)

  • Improved the warning message that Dispatch Message Action logs when it cannot find the target node. (SDK-9537)

  • Removed extra stencil state switches that had no effect on rendering result. (RENDERING-1201)

  • Fixed the issue that caused Kanzi applications in debug mode to terminate with assertion when you apply large negative margin values to nodes in a Stack Layout. (SDK-9588)

  • Fixed the issue that caused a Scroll View to scroll to an invalid position when using multi-touch input. (SDK-9581)

  • Fixed the issue that caused Scroll View nodes to scroll in the opposite direction when using multi-touch input with zoom enabled. (SDK-9589)

  • Fixed the issue that caused the memory consumption to grow when attaching and detaching Button nodes repeatedly. (SDK-9616)

Kanzi Studio

  • Fixed the wrap modes of HDR lat-long environment textures to use the Repeat wrap mode instead of Clamp. (RENDERING-1067)

  • Fixed the issue that caused the failure to import FBX files. (PRODUCT-568)

  • Fixed the issue that prevented updating of a Data Source when acquiring resources from a referenced project. (PRODUCT-614)

  • Fixed the issue that caused the Cubemap Texture to have wrong format after it was created as environment or image-based lighting cubemap texture. (RENDERING-973)

  • Kanzi Studio uses the system proxy server settings for license activation. If the proxy requires authentication, keep the credentials in the Windows Credentials Manager. (PRODUCT-728)

  • Fixed the issue that prevented the sharing of Cluster Materials between Kanzi Studio projects. (PRODUCT-563)

  • Fixed the issue that caused Kanzi Studio to lose a data source when you create a new project with Android application with Java plugin and rebuilt the data source jar plugin. (ANDROID-625)

  • Fixed the issue where deleting the startup prefab of a Kanzi Android framework (droidfw) view broke Target Preview. (ANDROID-852)

Platforms

  • Wayland and QNX Graphics Outputs now respect SurfaceColorSpace configuration setting. See SurfaceColorSpace. (INTE-471)

  • Fixed the memory leak on Wayland caused by the keymap file descriptor not being closed properly during a sleep wake-up cycle. (INTE-497)

  • Fixed crashes on Wayland when you use libwayland version that is newer compared to the one Kanzi binaries were compiled against. Notably, this fixes crashes on Ubuntu 24.04. (INTE-539)

  • Fixed libkztargetpreview not linking against libsocket on QNX platforms despite using networking features. (INTE-549)

  • When building with Scons, the Kanzi Engine plugin template now responds to the --dynamic flag. (INTE-200)

See also

Known issues