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.

See Using smart materials.

../../_images/properties-set-preprocessor-value-use-texture.png

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.

    ../../_images/rendering-cubemaps-dynamic-ibl.gif
  • 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.

../../_images/target-preview-android.gif

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.

../../_images/kanzi-app-view-plugin.png

Animations

  • In the Kanzi Studio user preferences, you can now set keyframe snap mode for the Animation Editor. See Animation clip editor toolbar.

    ../../_images/animation-editing-settings.png
  • 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.

    ../../_images/animation-clip-editor-easing-functions.png

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.

../../_images/user-preferences-split-view.png

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.

../../_images/split-view-camera.gif ../../_images/split-view-interactions.gif

Kanzi Java API

Windowing

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.

    ../../_images/free-camera-speed-info.png
  • The color editor now includes a hexadecimal field.

    ../../_images/slider-color-picker-hex-textbox.png

Documentation

Added an example that shows how you can add Kanzi to an Android System Alert window. See Android System Alert example.

../../_images/android-system-alert.png

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 and Mesh::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)

See also

Kanzi 3.9.10 migration guide

Known issues