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 3.6v1 Release Notes

# Release Date

29 April 2020

# Previous Releases

- Katana 3.5v4 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+

'Recommended' does not guarantee that it meets your particular needs

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

These release notes describe changes from Katana 3.5v3 to 3.6v1.

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

# New Features

## Dockable Tabs

- The following menu commands have been added to the context menu of tab titles, to allow users to move the respective tab to a particular dock widget area in Katana's main window:

  - Move Tab To >
    - Left Dock
    - Right Dock
    - Top Dock
    - Bottom Dock

  Tabs in dock widgets can be dragged to one of the other dock widget areas, and can also be turned into floating panes, by clicking the Detach Tab button in the title bar of the dock widget, by double-clicking its title bar, or by dragging a docked tab away from the dock widget areas of the main window.

  Docked tabs on the left and right of the main window span the entire height of the main window, whereas those at the top and bottom span the width of the main window's central widget only (containing its classic panes and tabs).

  Docked tabs are saved and restored as part of Katana layout XML files. A Save <n> Dock Widgets checkbox has been added to the Save Current Layout dialog that opens when choosing the Layouts > Save Current Layout menu command. By default, the checkbox is turned on. The checkbox can be turned off to not save docked tabs as part of the layout.

## NetworkMaterialEdit

- NetworkMaterialEdit nodes allow users to edit network materials that have been created using NetworkMaterialCreate nodes, by adding shading nodes to an existing network, deleting shading nodes from an existing network, or modifying any of the parameters of shading nodes of an existing network. The contents of NetworkMaterialEdit nodes are drawn in the same style that was introduced for NetworkMaterialCreate nodes in Katana 3.2, with exposed ports on shading nodes and a left-to-right node layout.

  NetworkMaterialEdit nodes leverage the functionality of the existing NetworkMaterialParameterEdit and NetworkMaterialSplice node types, but in a UI that is visually representative of how the material was originally authored.

## Notable API/SDK Changes

- Python code that was never used in commercial Katana has been removed from the Katana codebase, to avoid unnecessary porting work in the transition to Python 3.

## OpWrite Node Type

- OpWrite nodes allow users to write custom, dynamic Ops in C++ right within Katana's user interface, and iterating on them without having to restart Katana. The OpWrite node type has been modelled after the OpScript node type, with regards to its parameter interface and general functionality, including the ability for deferred execution of the custom Op in question.

  By default, the OpWrite node type is not made available in Katana's node creation menus in the Node Graph tab. You can set the KATANA_ENABLE_OPWRITE_NODE environment variable to 1 before launching Katana to make it available.

  More details on writing Ops using OpWrite nodes can be found in the Ops And OpScript > OpWrite section of the Katana Developer Guide.

## Snapping in the Hydra Viewer

- Support for snapping to locations has been added to the Viewer (Hydra) tab.

  Snapping can be turned on and off using the new Snapping tool button in the tab, using that button's menu, or by pressing the V key, and can also be turned on temporarily by holding the V key. Turning the feature on allows users to snap any location's translate or COI manipulator (including individual axes) to a target location's individual Vertices, Edges, Faces, Center or Object.

  - When snapping to vertices (Vertex mode), only vertices of front-facing faces are considered.
  - When snapping to edges, users can choose to snap to the center of a given edge (Edge - Center mode), or to slide along a given edge (Edge - Slide along mode).
    - In these modes, the target edge is highlighted in addition to the target mesh's snapping wireframe.
  - When snapping to faces, users can choose to snap to the center of a given face (Face - Center mode), and also orient the transformed mesh's rotation to point along the normal of the target face (Face - Center - Oriented to Normal mode).
    - In these modes, the target face is highlighted in addition to the target mesh's snapping wireframe.
    - In Face - Center - Oriented to Normal mode, the normal is indicated by a white arrow with a dashed line.
      - In Oriented to Normal modes, the OrientAxis and UpAxis can be specified via viewerHydra/snapping preferences.
  - When snapping to objects, users can choose to snap to the closest point on an object's surface (Object Surface mode), and also orient the transformed mesh's rotation to point along the normal of the closest face (Object Surface - Oriented to Normal mode), or to the object's origin (Object - Origin mode).
    - In Object Surface modes, the target mesh is drawn with an outline, in addition to the target mesh's snapping wireframe being drawn.
    - In Object - Center mode, the center of an object (defined by a bounding box automatically generated by the extents of the geometry) will be highlighted with a cross-hair icon.
    - In Object - Origin mode, the origin of the targeted object is highlighted with a cross-hair icon.
  - Proxy geometry shown in the current scene will work with all the above modes.
  - When snapping to Lights, Cameras, and Locators, users can choose to snap to the center of a given location of the type Light, Camera or Locator. Geometry in the scene will be ignored by this modes.

  Note: The color used for drawing the target mesh's snapping wireframe can be customized via the new viewerHydra/snapping/wireframeColor preference.

  The current snapping mode can be changed via the Snapping tool button's menu, or by pressing Shift+V to cycle through the available snapping modes.

# Feature Enhancements

## 3Delight

- The version of 3Delight that we ship with Katana has been upgraded to version 2.0.1. For more information, refer to the 3Delight Cloud Changelog.

## API/SDK Changes

- The deprecation warning that is logged when Python-based AssetAPI plug-ins are registered has been revised for clarity.

- The base class of the Katana main window has been changed from QWidget to QMainWindow, allowing for toolbars and dock widgets to be placed around a central widget.

- Improved efficiency of the Hydra Viewer's Op update system, reducing scope of transient, incomplete Geolib runtime configurations. (This change applies to the BaseViewerTab class.)

  The Python ViewerDelegate.setViewOp() method now accepts a Geolib Runtime Op (or Op ID for compatibility) as its first parameter. It also now accepts an optional Geolib Runtime transaction, to which Runtime configuration changes are added.

  The C++ FnViewerDelegate API ViewerDelegatePluginBase class no longer has a setViewOp() member function. This functionality is available in the Python ViewerDelegate class, which has responsibility for configuration.

- A Port Op Client (Nodes3DAPI.PortOpClient.PortOpClient) now accepts None as its Port, in which case a default source Op is used (a no-op that produces an empty /root location).

## Example Plug-ins

- A number of implicit conversion compilation warnings in the TransformManipulators plug-in have been addressed.

## Hydra Viewer

- The default keyboard shortcut for Look Through Selected Object in the Viewer (Hydra) tab has been reassigned from V to K. The V keyboard shortcut is now used for the new Snapping feature.

## Network Materials

- TP 369014 - It is now possible to select all upstream or downstream shading nodes in a NetworkMaterialCreate node by pressing Ctrl+Left or Ctrl+Right. (This is similar to the existing Ctrl+Up and Ctrl+Down keyboard shortcuts in the regular node graph context.)

- User parameters and locally set parameter values of shading nodes are now stored as part of the Network Material attribute conventions.

## Node Graph

- TP 357364 - Parameter reference expressions now support concatenation using the + operator. See the Katana Developer Guide for details.

## Performance

- Improved the scheduling of location cook requests via CookInterface::prefetch().

- The scenewalker command-line tool now outputs a profiling JSON file if run with the command-line option --profile=<output path>, where <output path> is the path and name of the file to write. This file has the same format as the JSON file that is created when starting a Preview Render with Profiling from the context menu of a node in the Node Graph tab.

- In certain edge cases, the Op Tree Optimizer would incorrectly identify a chain of Ops that could be collapsed, effectively removing a part of the Op tree. This no longer happens, and the optimizer is much faster at manipulating the tree. Moreover, there are two additional optimization passes: one removes no-ops, and the other flattens hierarchies of Merge Ops into a single Merge Op, saving cook time and memory.

- TP 421213 - The summary report printed to the Render Log following a Preview Render with Profiling now shows Most costly Nodes and Most costly Ops in two separate tables.

- TP 426927 - Improved responsiveness in the Viewer (Hydra) manipulators when the currently selected location is cooked.

## Rendering

- TP 86310 / BZ 41764 - Support for custom tile locations has been added.

  Previously, the "tile_x_y." prefix was always prepended to the file name of the tiles. Now, the tile path can be customized by defining the following environment variable:

      KATANA_TILE_FILENAME

  These are the wildcards that can be used:

  - `@STEM@`
  - `@EXT@` (includes dot)
  - `@COLUMN@`
  - `@ROW@`
  - `@COLUMNS@`
  - `@ROWS@`
  - `@DEFAULT@` (equivalent to `tile_@COLUMN@_@ROW@.@STEM@@EXT@`)

  For example, the following setup would append the tile column and row, as well as the total number of columns and rows, to the tile location:

      export KATANA_TILE_FILENAME="@STEM@_(@COLUMN@,@ROW@)_@COLUMNS@x@ROWS@@EXT@"

## UI Improvements

- Boolean preferences now use checkboxes instead of Yes/No combo boxes.

- A hover effect has been added to titles of tabs and to handles of scroll bars.

- It is now possible to drag and drop a NetworkMaterialCreate or NetworkMaterialEdit node onto a MaterialAssign node's materialAssign parameter. Doing so will set the materialAssign parameter of the MaterialAssign node to a Python-based parameter expression that evaluates to the path of the scene graph location that is created by the NetworkMaterialCreate node or that is edited by the NetworkMaterialEdit node.

# Bug Fixes

## API/SDK Changes

- TP 426773 - Viewer API: When opening and closing a manipulation group in a viewer delegate without performing any actions while the group is open, an exception could be raised from the ManipulatorBridge Python module.

## Example Plug-ins

- TP 427125 - When trying to build ViewerPlugins from source, compilation could fail due to a missing declaration of a dependency on Qt 5.6.1. ViewerPlugins can now be built on systems without Qt 5.6.1 present, in which case the manipulator handles are not modified visually when entering snapping mode.

## Node Graph

- TP 422514 - When using reference expressions to concatenate two or more node parameters, the relative relationships between the parent and child nodes could break when the node network was copied and pasted.

- TP 430188 - When the deletion of a Macro node was undone, the node's shape attributes (e.g. background color) were not restored correctly. (This issue was a regression in Katana 3.2v1.)

## Performance

- TP 417237 - When running the scenewalker command-line tool with the --profile flag set, the summary report would not be written to the console.

- TP 420218 - When attempting to access scene graph location delegates from multiple threads, Katana sometimes crashed due to a thead-unsafe data structure in FnScenegraphLocationDelegateCache.

- TP 420641 - When cooking Op Trees with multiple paths between Ops (i.e. are not trees), the cache pre-population step would perform very poorly.

## Rendering

- TP 128538 / BZ 51663 - Live Renders started while the Live Render from Viewer Camera option is turned on did not initially use the viewer camera.

  The initial Op Graph passed to a Live Render now overrides the render settings camera and creates a virtual camera location as necessary.

  Note: Support for using non-camera locations (e.g. lights, which may provide camera interface attributes) as the render camera depends on the renderer plug-in that is being used.

## Scene Graph

- TP 420753 - Newly created Geolib Runtime Clients could incorrectly be reported as being in 'all open' mode.

## UI

- TP 425492 - When setting the value of a numeric preference for which minimum and/or maximum values are provided via hints, the resulting value could wrongly be set to that minimum or maximum value, rather than the entered value.

## Other Bug Fixes

- TP 418460 - When editing a promoted drop-down parameter that provides a string attribute, for some renderer plug-ins, Material nodes set to edit material downstream failed to reflect these edits.

# Known Issues

## Hydra Viewer

- TP 431869 - When selecting a light or camera while the Center of Interest manipulator is selected, Katana stalls briefly before the manipulator's handles appear.

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

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

## Live Groups

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

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

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

- TP 84019 / BZ 40599 - Parameters that are added to LiveGroup nodes are wrongly discarded when performing a reload from source, leading to loss of data.

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

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

## Materials

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

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

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

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

- TP 427353 - NetworkMaterialEdit nodes support editing of network materials that were created by NetworkMaterialCreate nodes only, not network materials that were created with legacy shading nodes in the classic node graph context.

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

- TP 410474 - In a NetworkMaterialCreate context, shading nodes appear to shake during view state changes if the node's width is adjusted.

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

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

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

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

## Parameter Expressions

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

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

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

## Qt 5

- TP 356345 - Partially covering the Hydra Viewport with a floating tab will cause it to repaint continuously.

## Rendering

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

- TP 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 does not affect Linux, where a bundled 3Delight installation is tied to its corresponding Katana installation.

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

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

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

- TP 94052 / BZ 44199 - The Repeat Previous Render menu command only works on renders started from a 3D node's context menu.

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

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

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

## Widgets

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

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

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

## Miscellaneous

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

- TP 337653 - Katana logs deprecation warnings when loading the PyMockAsset, PyMultiMockAsset and PyMockFileSeq shipping example Asset API plug-ins.

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

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

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

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

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

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

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

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