Search Tips

Search is based on keyword.

`Ex: "Procedures"`

Do not search with natural language

`Ex: "How do I write a new procedure?"`

Give Feedback Support Portal

# Katana 4.5v6 Release Notes

Contents

- Feature Enhancements
- Bug Fixes
- Known Issues
- System Requirements

# Release Date

26 July 2023

# Previous Releases

- Katana 4.5v5 Release Notes

# What's New in Katana 4.5

These release notes describe changes from Katana 4.5v5 to 4.5v6.

For a high-level overview of important changes in the Katana 4.5 line, please see the accompanying What's New in Katana 4.5 document.

# Feature Enhancements

## API/SDK Changes

- ID 103639 / BZ 47249 - A new callback will be triggered immediately before a project is saved, "onSceneAboutToSave".

- ID 502961 - Two new types of callback have been added: Callbacks.Type.preLookFileMaterialsOut and Callbacks.Type.postLookFileMaterialsOut. These are similar to the existing Callbacks.Type.preLookFileBake and Callbacks.Type.postLookFileBake, only they are triggered before/after a Look File is written by a LookFileMaterialsOut node rather than by a LookFileBake node. Callback function executors and handlers are documented for both LookFileBake and LookFileMaterialsOut nodes in the Katana Developer Guide.

  Below is an example Python script that can be run in the Python tab to define and add two callbacks of the new types that, on execution, print the Look File's Asset ID and the name of the node doing the Look File writing.

      def cbPrePrint(**kwargs):
          print("\nPreLookFileMaterialsOut callback")
          print("lookFileAssetId = " + kwargs["lookFileAssetId"])
          print("Node name = " + kwargs['node'].getName())

      def cbPostPrint(**kwargs):
          print("\nPostLookFileMaterialsOut callback")
          print("lookFileAssetId = " + kwargs["lookFileAssetId"])
          print("Node name = " + kwargs['node'].getName())

      Callbacks.addCallback(Callbacks.Type.preLookFileMaterialsOut, cbPrePrint)
      Callbacks.addCallback(Callbacks.Type.postLookFileMaterialsOut, cbPostPrint)

- ID 532060 - New callbacks have been added which will be triggered by various user interactions with the LiveGroup or LiveShadingGroup nodes;

  - "onLiveGroupLoaded" - Called just before a LiveGroup is loaded.
  - "onLiveGroupReverted" - The user has requested changes to be discarded and the LiveGroup to be reloaded.
  - "onMakeLiveGroupEditable" - The user has requested to make a LiveGroup editable, this will be called before the group is made editable.
  - "onLiveGroupPublishAndFinish" - The user is about to publish and lock the LiveGroup.
  - "onLiveGroupConvertToGroup" - The user is converting a LiveGroup to a regular Group node.
  - "preLiveGroupPublish" - Called just before a "publish" or "export".
  - "postLiveGroupPublish" - Called just after a "publish" or "export"
  - "exportAsset" - Called when an asset has been successfully exported.

## Network Materials

- ID 524735 - Click "Show User Parameters at Top Level" on ShadingGroup parameters and the "User" heading will be displayed above the User Parameters group.

## Rendering

- ID 428053 - When using a RenderOutputDefine node to merge EXR render outputs into a single EXR file, metadata was only being carried over from the first EXR render output. This would invalidate any Cryptomatte passes present in the final EXR file. Merging EXR render outputs will now attempt to carry over all metadata into the final EXR file. If Cryptomatte passes are detected then the relevant metadata will be updated such that the final EXR file retains validity as a Cryptomatte pass.

- ID 524536 - Registering a custom, renderer-specific node (or SuperTool) in the Network Material context would prevent the Node Graph tab's layered menu from being populated with existing renderer-specific shading nodes.

- ID 527552 - The Render node now writes the final file path of the render output as a scene graph attribute following a disk render. This is in addition to the temporary file path of the render output, which was already written as a scene graph attribute following a disk render. These attributes are stored in the scene graph at the /root location. The final file path can be found in the attribute hierarchy: renderSettings.outputs.<outputName>.rendererSettings.finalRenderLocation.

## UI

- When launching Katana (while using a default layout), it will launch into a maximized windowed mode. When exiting maximize mode, the application dimensions will be set to the screen dimensions.

## UI Improvements

- ID 373475 - Graph State Variable parameters wouldn't respect the 'widget' hint string if supplied.

  A new 'hiddenVariables' parameter has been added to the root node and the Project Settings tab. It accepts a comma separated list of variable names which you want hidden from the UI.

# Bug Fixes

## Foresight+

- ID 515514 - When a Live Render process terminated unexpectedly (for example, using "killall -9 renderboot") and a second Live Render is started, an error message from the previously killed process was displayed. This error message has now been removed. A message is still reported via the RenderLog.

## GafferThree

- ID 540205 - When adopting a template material for editing in one GafferThree node from another GafferThree node, the template material would not become editable and an error message would be logged in the Messages tab.

## Network Materials

- ID 527099 - In the NetworkMaterial context, attempting to expose parameters to a ShadingGroup node would fail, raising an error in the console.

## Performance

- ID 523058 - When certain attributes in the RenderSettings node were set to Force Default it would cause the render to fail. This has been corrected.

- ID 526686 - Child locations individually deleted and created in the same Op incorrectly retained their original sibling order when using the Geolib3-MT runtime.

- ID 534259 - When diamond connections were present in the Op graph, Foresight+ Live Renders could take long to start. Multiple diamond connections in a linear chain would result in a exponential increase in computation, giving the impression that the render process was in a blocked state.

- ID 539449 - In Linux systems with a great max number of file descriptors, starting a Katana subprocess could take a long time giving the impression of a freeze on occasions. In CentOS 6/7, the max number of file descriptors is generally `1024`; in Rocky Linux systems, `1024²` or `1024³` can be seen.

## Processing

- ID 516358 - Geolib3-MT's FlattenMergeHierarchies Op Graph optimizer now skips Merge Op pairs with a common input.

## Python

- ID 411783 - When triggering LiveGroup pre and post publish callbacks, the behaviour was inconsistent between them being triggered in the UI and through Python.

## Rendering

- ID 541584 - A render subprocess terminating abnormally could trigger an infinite loop if the renderer plug-in has written the 'render finished' file.

## UI

- ID 444310 - When the Color Picker dialog window was initialized using a grayscale color, the vertical slider controlling color hue would only take effect after the user had made a selection in the main picker sub-window.

## UI Improvements

- ID 513811 - Removed error message caused by adding custom columns to the SceneGraph. (This issue is a regression in Katana 5.0v1.)

## USD

- ID 534163 - When importing a USD file using the UsdIn node with the isolatePath parameter, if the file contained a light list cache with any lights which weren't descendents of the path specified in isolatePath, then an error would be shown in the scenegraph.

- ID 536039 - USD Shader Prims with namespaced `shaderId` attribute values were not converted to the correct shader ID for Katana Attributes. UsdIn will now utilise the last named section of the `shaderId`, delimited by `:`.

- ID 539855 - Loading the same USD Layer with UsdIn could result in instance prototype location paths changing in their order randomly.

# Known Issues

## Catalog

- ID 114182 / BZ 49288 - When exporting a Catalog item you need to specify the export folder path to an existing folder. If the folder you're trying to export to does not exist on disk Katana will fail to export. (This issue is a regression in Katana 2.0v1.)

## Hydra Viewer

- ID 427252 - Locators created via PrimitiveCreate nodes can be snapped to in all modes, rather than just the Lights, Cameras, and Locators mode.

- ID 420882 - Changing between the Viewer (Hydra) tab's multipane layout options quickly can cause a crash or many error messages to be written to the terminal/console.

- ID 380129 - Use of non-conformant GL anti-aliasing modes that employ supersampling reduces rendered point size by the supersampling scaling factor. Katana currently employs any reported anti-aliasing mode (up to a maximum sample count of 16): as a workaround, change the viewerHydra.antiAliasing preference to a lesser anti-aliasing mode.

- ID 352167 - Textures loaded from Hydra shaders are not cleared or reloaded from disk when flushing caches.

## Live Groups

- ID 85118 / BZ 41152 - When editing parameters of a node that is part of a LiveGroup node and reloading the parent LiveGroup node, the UI state of the Parameters tab is reset. This includes scroll bar positions, selections of items, and selections of nested tabs (for example Object, Material and Linking tabs for a Gaffer node).

- ID 84998 / BZ 41092 - When reloading a LiveGroup node's parameter interface and contents from its source, parameters of child nodes that are edited in floating panes disappear from those panes.

- ID 84020 / BZ 40598 - Reverting a LiveGroup node does not revert its user parameters.

- ID 84018 / BZ 40600 - Undoing a revert of an unpublished LiveGroup node does not restore the LiveGroup's editable and modified state.

- ID 83061 / BZ 40237 - Nodes can be dragged into the Group bubble of a non-editable LiveGroup node.

## Materials

- ID 442604 - When "exploding" a NetworkMaterialEdit node in the Node Graph tab into its parts by selecting it and choosing Edit > Explode Selected Groups or pressing the U key, Python exceptions are raised.

- ID 429775 - NetworkMaterialEdit nodes do not currently respect local Graph State changes, for example as performed by VariableSet nodes downstream.

- ID 429302 - When editing a locked node inside a NetworkMaterialEdit node graph, the parameters will be shown at their default state.

- ID 427408 - When entering a NetworkMaterialEdit node whose sceneGraphLocation parameter is empty, warnings are logged by the Geolib3 Runtime.

- ID 423341 - In a NetworkMaterialEdit node graph, connections can be displayed incorrectly if a node's name begins with a number.

- ID 402064 - In a ShadingGroup node graph, the connection between a Dot node and a shading node port can be wrongly colored in some cases.

- ID 269449 - Choosing Edit Shader Parameters from the main wrench menu of Material nodes does not show wrench buttons next to shader parameters. This can be worked around by toggling the edit flag on the node. (This issue is a regression in Katana 2.5v1.)

- ID 199304 - The namespace parameter on Material nodes wrongly allows the insertion of Unicode codepoints outside the ASCII range.

- ID 191052 - Katana does not have any support for the texture reference object workflows of V-Ray for Maya.

## Parameter Expressions

- ID 188533 - Expressions linked to non-local parameters on not previously edited Material nodes can't be evaluated.

- ID 105434 / BZ 47520 - Reference Expressions may not refer to dynamic parameters such as shader parameters.

- ID 60457 / BZ 31790 - Setting an array or group parameter to an expression results in an invalid expression. Upon setting a valid expression (for example, an evaluation of an equivalent parameter on another node using getParam), the parameter is not immediately updated. To workaround this issue, close and reopen the parameter, or flush caches while the node is not edited.

## Performance

- ID 105424 / BZ 47518 - Expressions using getParam to link to dynamic parameters would fail if the dynamic parameters hadn't yet been cooked.

## Python

- ID 496659 - When loading a website into a `PyQt5.QtWebEngineWidgets.QWebEngineView` widget, warning and error messages may be issued by the underling Qt WebEngine classes, leading to certain websites not being displayed correctly, or not being displayed at all. (This issue is a regression in Katana 4.5v1 / Katana 5.0v1.)

## Rendering

- ID 524428 - Misleading error messages can be shown in the Render Log when live rendering with 3Delight.

- ID 523574 - Sourcing an aces v1.3 colour profile can cause Katana to crash when rendering with renderer plugins that don't currently support aces v1.3

- ID 381284 - The 3Delight renderer plug-in makes use of source material locations rather than resolved material attributes as a means of de-duplication. This can result in material data being lost when excluding material locations from the Render Working Set during a Live Render session.

- ID 176598 - Use of nodes that modify Graph State Variables in Interactive Render Filters is not currently supported.

- ID 74799 / BZ 36926 - The rendererSettings > displayOptions parameter of a RenderOutputDefine node for the PRMan renderer, shown when its type parameter is set to 'raw', cannot be set using the Parameters tab.

- ID 70217 / BZ 36176 - The 2D node Disk Render Upstream Render Outputs option does not use the batch render method, batchRender, for upstream render nodes, instead using diskRender.

- ID 70016 / BZ 36137 - Rendering repeatedly with a large number of AOVs consumes more and more memory, possibly leading to a crash when running out of memory.

- ID 12517 / BZ 16168 - Only one Monitor tab may display the results of a Preview Render. The use of multiple Monitor tabs is not currently supported.

## UI

- ID 373702 - Clicking in the Viewport and pressing a shortcut whilst the mouse is hovered in another widget will still send the event back to the 'focused' Viewport widget, for shortcuts where the widget hovered over does not handle the shortcut.

- ID 208802 - Closing the Histogram tab after use leaves the Monitor tab unable to display rendered images.

- ID 123558 / BZ 50911 - When changing an array parameter's tuple count/size, any corresponding attributes are not properly updated in the Attributes tab.

- ID 112544 / BZ 49051 - The Viewer tab may lose sync with the Scene Graph tab when changes to expansion state are interrupted.

- ID 107038 / BZ 47853 - Indication of attribute source nodes (such as the yellow 'glow' in the Node Graph tab) is unavailable as of Katana 2.0v1.

- ID 71965 / BZ 36691 - State badges are currently shown for attribute values of dynamic array child parameters, even though only their parent array parameter should appear with a state badge.

- ID 65347 / BZ 34949 - Using Compiz can lead to text fields not receiving focus events correctly due to an incompatibility between Compiz and Qt. Depending on your configuration, disabling Compiz "desktop effects" may resolve the problem.

## USD

- ID 468287 - UsdIn is not retaining expanded view state information for shading nodes in a Network Material context.

## Windows

- ID 381692 - (Windows only) When logging out and logging back in again, the colors in the UI are incorrect. For example, certain parts of certain types of tabs may appear with a white background color. (This issue is a regression in Katana 3.1v1, possibly caused by QTBUG-52728 - Paint bug and palette errors after some events in Windows)

- ID 344118 - (Windows only) When installing Katana and opting to install the bundled version of 3Delight, the installation of 3Delight is made by modifying system-wide environment variables such as `KATANA_RESOURCES`. Thereafter, launching any version of Katana will pick up this installation of 3Delight, which may be incompatible with the version of Katana being launched.

  Note: This issue does not affect Linux, where a bundled 3Delight installation is tied to its corresponding Katana installation.

- ID 218742 - (Windows only) Katana must be installed to a path no longer than ~140 characters. Attempting to install to a longer path results in an unintuitive error: "The system cannot find the path specified."

## Miscellaneous

- ID 84326 / BZ 40709 - The Alembic library does not support multiple process or thread access to an Alembic file. This means that a crash occurs when modifying an Alembic file outside Katana, while it's loaded in an open Katana scene. To avoid this, you must Flush Caches before attempting to update any modified Alembic files.

- ID 80738 / BZ 39261 - Operations that lock and unlock nodes do not currently create entries in the Undo History, which can lead to an incorrect node graph state when undoing and redoing operations.

- ID 70196 / BZ 36170 - Control keys (notably arrow keys) do not function as expected in shell mode.

# System Requirements

## Officially Supported Operating Systems

- Windows 10 64-bit or higher
- Linux 64-bit operating system (CentOS/RHEL 7)

## Hardware Requirements

| Minimum | Recommended
--- | --- | ---
CPU | Dual-core processor
Storage | 1+ GB available for installation
System RAM | 1+ GB available
Graphics RAM | 1+ GB available | 2+ GB available
Display | 800 x 600 | 1920 x 1080
OpenGL | OpenGL 4.3+ (see note below)

Note: AMD-based graphics cards are currently not supported.

### Tested Workstation Hardware

The configurations listed below are those that Foundry have tested with Katana. Due to the constantly changing nature and wide variety of computer hardware available in the market, Foundry is unable to officially certify hardware. The list below can be used as a recommendation and does not guarantee that it meets your particular needs.

- NVIDIA Quadro M4000

- NVIDIA Quadro P4000

- NVIDIA Quadro K4000

- NVIDIA Quadro K6000

Please download and install the latest graphics driver from the NVIDIA website.

If you encounter any issues, please contact Customer Support directly through the Support Portal at the following address: https://support.foundry.com.