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

# Release Date

24 February 2021

# Previous Releases

- Katana 4.0v2 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.0v2 to 4.0v3.

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

## Katana Queue

- The following additional environment variables related to Katana Queue (KQ) have been added to help developers customize the installation path of Katana and render plug-ins for KQ Agents:

  - `KQ_OVERRIDE_KATANA_ROOT` -- By default, KQ Agents look for `renderboot` in the same installation directory as the artist workstation. In some circumstances, for example where KQ Agents run remotely and Katana is installed in a different file system location on those hosts, the Remote Agents would fail to find `renderboot`. Setting `KQ_OVERRIDE_KATANA_ROOT` to a specific file system location path overrides this behavior, allowing you to set an arbitrary Katana installation directory that will be used when deploying render jobs to Agents.
  - `KQ_OVERRIDE_<renderer name>_PLUGIN_PATH` -- Similar to `KQ_OVERRIDE_KATANA_ROOT`, `KQ_OVERRIDE_<renderer_name>_PLUGIN_PATH` provides a mechanism to specify an alternative installation path for renderer plug-ins. For example, `KQ_OVERRIDE_ARNOLD_PLUGIN_PATH` specifies an alternative plug-in directory for the Arnold for Katana (KtoA) plug-in.

  In addition, the `KQ_NUM_AGENTS` environment variable, which can be used to set the number of local Agents that the local KQ daemon process should spawn, can now be set to `0` to completely bypass the use of local Agents.

  Tip: If you set `KQ_OVERRIDE_KATANA_ROOT` and/or `KQ_OVERRIDE_<renderer name>_PLUGIN_PATH` and intend to run a mix of Local Agents (Agents running on the local workstation) and Remote Agents (Agents running on remote machines), Katana and/or the render plug-in would need to be installed in/accessible from the same file system location in both the local and remote environments.

## Node Graph

- ID 224650 - Documentation of Layered Menus for the Node Graph tab has been updated to reflect the ability to float multiple created nodes, which was incidentally added in Katana 3.2v2: the `actionCallback` that is passed to the initializer of the `LayeredMenuAPI.LayeredMenu` class can return one or more nodes that are then added to the node graph.

## Ramp Widgets

- ID 269937 - The Color Ramp widget type has been extended to support drawing of gradients with constant colors between the knots, rather than just with linear interpolation between the given knots.

- ID 380434 - When using the Color Picker dialog to pick a color for a knot on a Color Ramp parameter, the gradient widget in the Parameters tab is now updated interactively while picking the color, rather than only after accepting the picked color by clicking the dialog's OK button. This makes it much easier to visualize what the resulting gradient will look like with a particular color.

- ID 441014 - It is now possible to turn panning and zooming for Float Ramp parameters that are being edited in the Parameters tab on or off, by setting the panZoomEnabled widget hint to True or False. The new widget hint can be edited in the Widget Options dialog when editing user parameters in the Parameters tab.

## USD Export

- UsdMaterialBake nodes now also export prmanStatements.attributes set on a location.

- The following changes have been made in the parameter interface of UsdMaterialBake nodes:

  - The fileName parameter was renamed to looksFilename (note the lower-case n).
  - The fileFormat parameter was renamed to looksFileFormat.

  - The createCompleteUsdAssemblyFile parameter was added, which controls whether a USD assembly file is written alongside the baked material looks file. The USD assembly file references the looks file (looksFilename) and a particular payload file (see payloadFilename below).

    Defaults to No. When set to Yes, the following additional parameters appear:

    - assemblyFilename -- the name of the assembly file to write.
    - payloadFilename -- the name of a file to reference as a payload in the assembly file to write.

  Warning: The changes in the parameter interface of UsdMaterialBake nodes are not compatible with earlier releases, meaning that attempting to open a Katana project from Katana 4.0v3 containing UsdMaterialBake nodes in an earlier Katana release results in Python exceptions being raised.

## USD Import

- UsdIn nodes will now import material.layout attributes, allowing for the nodes to be edited inside of NetworkMaterialEdit nodes, retaining any positional, color or view state information relating to USD's `UsdUINodeGraphNodeAPI`.

# Bug Fixes

## Hydra Viewer

- ID 453375 - When facesets were added to a geometric primitive, its geometry.arbitrary.displayColor attribute would be ignored and it would be drawn as default gray.

- ID 458746 - When sRGB textures were used as UDIM tiles, they were gamma corrected twice and subsequently appeared too bright.

- ID 458777 - When editing attributes within the parameters group attribute on a material location, changes were not taken into account when displaying surfaces.

- ID 459318 - When loading an invalid UsdSurfaceShader, Katana crashed. (This issue was a regression in Katana 4.0v1.)

- ID 462743 - When attempting to snap a dragged object onto geometry rendered as points (including point clouds), the object did not snap.

- ID 466251 - When drawing points of a point cloud with the viewport being offset from camera center in the X axis (resulting in an oblique camera frustum), the points were rendered with incorrect sizes.

## Katana Queue

- ID 462525 - When Katana crashed or was terminated, certain Katana Queue (KQ) processes could still remain running in the background.

- ID 463780 - When starting a Batch Render, or a Preview Render in the UI, either locally or via Katana Queue, Python search paths that were added to `sys.path` in a site-specific `sitecustomize.py` module were wrongly removed during `renderboot` startup.

- ID 465829 - When Katana was shut down after the Katana Queue daemon (KQD) process had crashed or had been terminated, Katana would deadlock while waiting for a response from KQD that would never arrive.

- ID 465850 - When choosing the Launch Remote Agents... shelf item from the KatanaQueue shelf, a Python exception was raised on Windows and on some Linux platforms, due to `os.getlogin()` not being available on all platforms in Python 2.7.

- ID 466146 - When the Katana Queue daemon (KQD) process was unexpectedly terminated, the Katana UI would freeze if a Katana Queue tab was present in the layout, or if the user had enqueued a render job that had not yet completed.

## Monitor

- ID 424373 - When turning an underlay or overlay in the Monitor tab on, the frame buffer that is drawn in the tab's canvas wrongly appeared blurry due to undesirable linear filtering, instead of with sharp pixel edges.

## Performance

- ID 466878 - When memory used by Katana renders reached 35% of the maximum available memory, Katana could hang or crash if another render was started. (This issue was a regression in Katana 3.6v1.)

## Ramp Widgets

- ID 231600 - When adding a Color Ramp user parameter or a Float Ramp user parameter to a node, a group parameter structure is added to the node. The Color Ramp and Float Ramp widget types were not listed in the Widget Type menu of the Edit Parameter menu button for group user parameters. This meant that it was not possible to switch back to those types of widgets for a particular group parameter, after switching to a different type of widget.

- ID 461839 - When adding a Color Ramp or Float Ramp parameter to the groupValue parameter of an AttributeSet node whose attributeType is set to group, or to the opArgs parameter of a GenericOp node, the resulting group parameter structure with all its child parameters was shown, instead of a Color Ramp or Float Ramp widget.

- ID 465931 - When attempting to add a knot to the curve of Float Ramp parameter after editing the parameter's widget options, a Python exception was raised.

- ID 465937 - When faced with an invalid range of minimum and/or maximum positions and/or values via widget options for a Float Ramp parameter, an exception was raised from the graph editor that is part of a Float Ramp widget, and the widget was not displayed in the Parameters tab.

- ID 466102 - When moving a knot in the gradient widget of a Color Ramp parameter after editing the parameter's widget options, a Python exception was raised.

## UI

- ID 64827 / BZ 34635 - When displaying widgets for a group parameter of widget type Gradient containing child parameters that did not follow the expected topology for child parameters of Gradient group parameters, a Python exception was raised.

- ID 84578 / BZ 40856 - When tabbing out of the numberValue size parameter of an AttributeSet node that is edited in the Parameters tab after reducing the parameter's array size, Katana crashed.

- ID 392475 - Autosaves ("crash file" saves) now occur a given time following the first unsaved action, rather than the last autosave. This time is specified by the application/crashFile.time preference.

- ID 459374 - When removing the input focus from the code editor widget of an OpScript or OpWrite node that is edited in the Parameters tab, the editor widget automatically scrolled to the top, undesirably losing the area of focus that was just edited.

- ID 462543 - When clicking on an array item of the numberValue parameter of an AttributeSet node that is edited in the Parameters tab after reducing the parameter's array size, Katana crashed. (This issue was a regression in Katana 2.5v1.)

- ID 463194 - When loading a layout of panes and tabs in a Katana launch environment where certain types of tabs were not available, a Python exception was raised from within an event handler for activating layouts. (This issue was a regression in Katana 4.0v2.)

- ID 465301 - When editing the value of a numeric parameter in the Parameters tab with the parameters/singleDigitScrolling preference turned on, pressing the arrow up or arrow down key to change the value of a digit did not update the underlying parameter, and did not recook the scene, contrary to the behavior with the preference being turned off.

## USD

- ID 440214 - GitHub KatanaUsdPlugins Issue #11: (Windows only) `.lib` files were not installed along with `.dll` files for the `usdKatana` and `vtKatana` libraries in `plugins\Resources\Usd\lib\` and the shipped plug-ins in `plugins\Resources\Usd\plugin\Libs\`.

- ID 440218 - GitHub KatanaUsdPlugins Issue #9: When installing the Katana USD Plug-ins, public class headers were not installed correctly in `plugins/Resources/Usd/include/<library name>/`.

- ID 446328 - When exporting and then importing a material via UsdMaterialBake and UsdIn nodes, the grouping of parameters in pages was not restored correctly.

- ID 453346 - When exporting material information using a UsdMaterialBake node, child material locations with no local change were not exported.

- ID 462435 - When using UsdIn nodes to load USD assets that use textures containing `<UDIM>` tokens in their filenames, spurious warning messages about unresolved asset paths were logged.

- ID 462544 - When loading a USD asset that made use of a `TfToken` primvar into the Hydra Viewer, a warning message was logged, and the primvar was ignored.

- ID 463889 - When creating shading nodes from USD, a wrong target renderer was set in certain cases.

## Windows

- ID 462912 - (Windows only) When launching Katana from a UNC path, `renderboot` failed to launch.

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

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