What's New in Katana 3.2

Introduction

This document describes notable changes introduced in Katana 3.2. These changes include:

  • New Network Material creation workflow using new NetworkMaterialCreate node type
    • Fast creation and initial setup of shading nodes via Tab key node creation menu, with the ability to switch renderers via a separate layered menu
    • Left-to-right workflow with exposed shading node ports, port filtering by name, and different shading node view states
    • Network Material sidebar with pre-populated terminals depending on available renderer plug-ins
    • Integrated Material node parameter interface for setting default values of exposed Network Material parameters
    • Integrated NetworkMaterialInterfaceControls parameter interface for advanced editing of parameter interface rules
    • New ShadingGroup node type for creating nested shading node networks with customizable input and output parameter interfaces
    • Support for ShadingNodeArrayConnector, Switch, and VariableSwitch nodes in shading node networks
    • Recording of Network Material layout attributes in material group attribute on resulting material location, as a foundation for being able to restore Network Material layouts in Phase 2 of the overall Network Material UX improvement work
  • Upgraded Hydra Viewer using USD 19.05, introducing experimental support for integrating Hydra Render Delegates.
  • Upgraded 3Delight for Katana to version 1.5.9, improving time to first pixel in many scenarios, as well as an updated random walk subsurface scattering model.
  • Various fixes in the Katana Developer Guide, improving completeness, correctness, and readability.

Technical Changes

  • We now ship the shared libraries for USD 19.05 in Katana’s bin folder. The libraries are Foundry-namespaced, and their filenames are prefixed with Fn, e.g. Fntf.so. This is a requirement for being able to build and integrate custom Hydra Render Delegates. More information on this is available in the Writing Plug-ins section of the Katana Developer Guide. Note that the libraries are based on USD 19.05, but have a couple of additional patches applied:
    • Added patch for loading half float EXRs as textures into the Hydra GL renderer.
    • Added patch to USD to check for registered Boost to_python converters for standard types before trying to re-register them.
    • Patched windows Python library builds to correctly build debug Python libraries with _d suffix.
    • Updated CMake builds to use namespaced libraries and CMake configurations for third-party libraries rather than CMake variables to avoid absolute paths being added to the USD CMake configurations.
    • Added ability to override point size.
    • Customized selection to display wireframes.
  • The pxr.Usd Python module is now importable from Katana’s Python contexts, such as the Python tab. As a result, the example output format plug-in for LookFileBake nodes that writes LookFile data in .usda format will work out-of-the-box when KATANA_RESOURCES is set to include that plug-in’s directory.
  • We now ship the shared libraries for Boost 1.61.0. This is a requirement for being able to use shared USD Python libraries and modules.

    A patch has been added to USD to check for registered Boost `to_python` converters for standard types before trying to re-register them.

  • Katana 3.2 now uses a Foundry-namespaced and renamed shared library for TBB (libtbb2017_Foundry.so on Linux) and TBB Memory Allocator (libtbbmalloc2017_Foundry.so on Linux) based on TBB 2017 Update 8, in order to reduce conflicts of having multiple TBB arenas in one session.

  • CMake builds have been updated to use name-spaced libraries and CMake configurations for third-party libraries rather than CMake variables to avoid absolute paths being added to the USD CMake configurations.

Hydra Viewer

The Hydra Viewer has been updated from USD version 0.8.0 to 19.05. In addition to experimental support for integrating Hydra Render Delegates, the upgrade includes:

  • Improvements to the drawing of curve locations
  • Support for per-face and per-vertex coloring
  • Developer documentation on building, installing, and using custom Hydra Render Delegates as plug-ins for Katana's Hydra Viewer has been added to the Writing Plug-ins section of the Katana Developer Guide.

User Interface Improvements

In addition to the NetworkMaterialCreate UI, Katana 3.2 includes improvements to working with Backdrop nodes that apply outside of NetworkMaterialCreate nodes as well.. Notable changes are:

  • TP 81998 / BZ 39875 - Previously in Katana, holding the Ctrl key and selecting a Backdrop node will select all the nodes that are touching the Backdrop. This is opposite of how this interaction is handled in Nuke.

    Now, this interaction has been reversed so that selecting a Backdrop will select the nodes that are touching it and holding Ctrl will now only select the Backdrop node itself. Additionally the single action of clicking & dragging a Backdrop will now drag the Backdrop and all of the nodes inside of it, similarly to Nuke.

  • The Z ordering of Backdrop nodes can now be controlled by the [ and ] keyboard shortcuts, to bring Backdrop nodes to the back and front respectively. As part of this feature, the Send to Back checkbox has been removed from the Edit Backdrop Node dialog.

  • TP 397030 - The selection of child nodes within Backdrop nodes was inconsistent with regards to the handling of modifier keys. Now, selecting a Backdrop node without holding modifier keys selects its children as well. When holding the Shift key, the selection state of the Backdrop node is toggled, and the new state applied to the child nodes. When holding the Ctrl key, only the Backdrop node is affected, and its child nodes are left as-is.

Deprecated Features

  • The AttributeUpgrade node type, which was used to address attribute convention changes between Katana 1.x and 2.x, is now deprecated, and has been hidden from node creation menus in the Node Graph tab.