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.0v4 Release Notes

# Release Date

07 April 2021

# Previous Releases

- Katana 4.0v3 Release Notes

# System Requirements

## Officially Supported Operating Systems

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

## 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.

# What's New in Katana 4.0

These release notes describe changes from Katana 4.0v3 to 4.0v4.

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

# Feature Enhancements

## Coding and Debugging Improvements

- ID 105082 / BZ 47469 - Two new preferences have been added for configuring the font family and size that is used in code and console log widgets:

  - application/codeFontFamily
  - application/codeFontSize

  Here's a partial list of widgets that adhere to the new preferences:

  - Python tab
  - Parameters tab
    - Script editor widgets in OpScript and OpWrite nodes
    - Color component editing widgets
    - Parameter expressions
    - expression parameter in NetworkMaterialInterfaceControls nodes
    - Code editor for script Button user parameters
    - User parameters of type String that have their Widget Type set to Script Editor
    - HTML Editor widgets for parameter help text
  - Shelf Item Source dialog (used for viewing read-only Shelf Item Scripts)
  - Render Log tab
  - Log section in the Katana Queue tab

  Further notable changes:

  - Parameters using the `'scriptEditor'` widget type now use the configured code font by default.
  - Generally, widgets that have the `'codeFont'`Qt object property set will use the code font defined in the preferences.
  - For backwards compatibility, user-defined widgets using the `'fixedWidthFont'` property will still use the code font. Both properties are currently equivalent.

- ID 197887 - The Python tab and the script editor widget that is used for OpScript and OpWrite nodes have been enhanced with line numbers.

  Line numbers are also shown for read-only Shelf Item Scripts in Katana's shelves.

- The Python tab has been enhanced with new functionality, much of which can be controlled via several new preferences (accessible via Edit > Preferences):

  - Changes in appearance:
    - Highlighting of trailing spaces with a red background color (with an opt-out preference named highlightTrailingWhitespace). (Highlighting also applies to the script editor widgets of OpScript and OpWrite nodes.)
    - Disable word wrapping (with an opt-in preference named wordWrap).
    - Ruler at character 79, the recommended maximum line length in PEP 8 (with an opt-out preference named showRuler, and a configurable rulerPosition).
  - New editing capabilities:
    - Auto-indentation based on previous line (with an opt-out preference named autoIndent).
    - Edit > Toggle Comment command (Ctrl+/) for toggling comments in lines that contain selected characters or the text cursor.
    - Edit > Format All command (Ctrl+Shift+I) for auto-formatting the entire script using YAPF, Black, or autopep8, depending on the new formatter preference.
    - Edit > Format Selection command (Ctrl+K, Ctrl+F) for auto-formatting the code block that contains selected characters or the text cursor using the preferred formatter.

- A widget hint named `'showLineNumbers'` has been introduced for script editor and text widgets, which can be set to `'True'` or `'False'` to control whether line numbers are displayed.

  By default, only the `'scriptEditor'` widget type shows line numbers, but `'text'` widgets can also show line numbers when the `'showLineNumbers'` hint is set to `'True'`.

  The new widget hint can be set for user parameters that are edited in the Parameters tab by opening the respective parameter's Widget Options dialog through the Edit Parameter tool button (the one with the wrench icon) and setting showLineNumbers to True or False.

## Hydra Viewer

- ID 467314 - The Hydra Viewer can now render curves in the color of an assigned material (as created by a Material node or a UsdShadingNode using UsdPreviewSurface), or the color defined by geometry.arbitrary.displayColor and geometry.arbitrary.displayOpacity attributes.

  Note: Due to a limitation in HdStorm, UsdPreviewSurface's opacity property will not be used.
  The geometry.arbitrary.displayOpacity attribute can be used to modify opacity instead.

## Rendering

- ID 467432 - A new environment variable named `KATANA_OVERRIDE_ALLOW_CONCURRENT_PREVIEW_RENDERS` has been introduced. If set to `0`, it disables multiple simultaneous Preview Renders. Defaults to `1`.

## USD

- Integrated updates made to `KatanaUsdPlugins` by Pixar in USD 20.02:

  - Fixed incorrect geometry.instanceSource attribute for nested instances. (PR #1015)
  - `VtKatanaMapOrCopy(FnAttribute)` now returns a map of all motion samples.
  - Removed support for deprecated USD format `usdb`.

- ID 463829 - GitHub KatanaUsdPlugins Issue #21: Support for cylinder lights (`UsdLuxCylinderLight`) has been added to UsdIn.

- ID 463832 - GitHub KatanaUsdPlugins Issue #18: Nested instances can now be imported via the as sources and instances option of the instanceMode parameter of a UsdIn node.

# Bug Fixes

## Hydra Viewer

- ID 469702 - When clicking on curves in the Hydra Viewer to select their corresponding locations, the locations were not selected and the curves were consequently not highlighted. When selecting curves locations in the Scene Graph tab, the selected curves were not highlighted in the Viewer (Hydra) tab. (This issue was a regression in Katana 4.0v1.)

- ID 471041 - UsdLuxDistantLights in the Hydra Viewer acted more like point lights, rather than distant lights, with regards to their lighting contribution and where shadows would fall.

## Katana Queue

- ID 467369 - When shutting down Katana, ZeroMQ errors occurred occasionally, sometimes followed by a sporadic crash.

## Network Materials

- ID 468232 - When Color Ramp or Float Ramp parameters were edited inside a NetworkMaterialEdit node, a number of Python exceptions were raised.. (This issue was a regression in Katana 4.0v2.)

## Node Graph

- ID 471048 - When a Katana project specified an Asset API plug-in in its project settings that was not available in the Katana environment, DlSettings nodes could not be created in the Node Graph tab, and when setting the edit flag on existing DlSettings nodes or those loaded from a project file, a Python exception was raised. This issue was caused by the `NodegraphAPI.GetProjectFile()` function wrongly raising an `AttributeError` exception, instead of returning `None`.

## Rendering

- ID 447697 - When Esc was pressed to cancel the current render (via the Render > Cancel Current Render command in Katana's main menu), Katana ignored the action if the render process had not yet initialized the image buffer (i.e. the scene graph was still being evaluated). (This issue was a regression in Katana 4.0v1.)

- ID 469800 - When Esc was pressed to cancel the current render (via the Render > Cancel Current Render command in Katana's main menu) while a Live Render was in progress, that Live Render was cancelled, even if it was not the current render. (This issue was a regression in Katana 4.0v1.)

## UI

- ID 326575 - When setting the definitionStyle parameter of a NetworkMaterialInterfaceControls node to conditional state expression, the corresponding expression parameter failed to appear in the Parameters tab. (This issue was a regression in Katana 3.0v1.)

- ID 467181 - Parameter boolean widget option hints that were set to one of the following values -- `'1'`, `'0'`, `'on'`, `'off'`, `'yes'`, `'no'` -- were not recognized in the Widget Options dialog. Only `'True'` and `'False'` were recognized.

  Previously, an error indicator appeared next to the parameter when the widget option hint was incorrect. For instance, this issue affected certain shading parameters in Arnold/KtoA builds released before February 2021.

## USD

- ID 445637 - GitHub KatanaUsdPlugins Issue #13: When importing point-based prims via UsdIn, the `accelerations` attribute was not read. (PR #14)

- ID 465844 - When baking out materials containing PxrLayer nodes using UsdMaterialBake, an error was raised and the material would not be baked correctly.

- ID 466070 - When attempting to export a network material containing a ShadingNodeArrayConnector node using UsdMaterialBake, an exception was raised. (Currently, ShadingNodeArrayConnector nodes are not supported by UsdMaterialBake.)

- ID 466547 - Registering multiple shaders in the USD `SdrRegistry` with the same name caused issues when finding default parameters for the Hydra Viewer and the usd renderer info plug-in.

- ID 470257 - When attempting to export a material without layout attributes using UsdMaterialBake, an exception was raised.

# 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 468318 - Experimental support for switching to and between custom Hydra Render Delegates, which was first added in Katana 3.2v1, has temporarily been deactivated in the Katana 4.0 line due to changes to the underlying bridging code from Katana to Hydra/USD.

- 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 84019 / BZ 40599 - Parameters that are added to LiveGroup nodes are wrongly discarded when performing a reload from source, leading to loss of data.

- 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 437433 - When repeatedly changing the value of the sceneGraphLocation parameter of a NetworkMaterialEdit node, the node may fail to populate its contents, and exceptions may be 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 429206 - Parameter expressions when promoted from shading nodes in a NetworkMaterialCreate node are of a constant value, relative to the resolved expression at time of creation.

- 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 410474 - In a NetworkMaterialCreate context, shading nodes appear to shake during view state changes if the node's width is adjusted.

- 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.

## Rendering

- 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.

- ID 446730 - When trying to overwrite variants already baked from a UsdMaterialBake node, an error can be printed to the terminal, resulting in the USD file not being written. In this instance, flushing caches before overwriting the file should act as a workaround.

## 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 337653 - Katana logs deprecation warnings when loading the `PyMockAsset`, `PyMultiMockAsset`, and `PyMockFileSeq` shipping example Asset API plug-ins.

- 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.