KtoA 4.3.5.0: USD improvements, faster volume intersection, faster baking, and Cryptomatte on GPU

Stephen.Blair
Community Manager

KtoA 4.3.5.0: USD improvements, faster volume intersection, faster baking, and Cryptomatte on GPU

Stephen.Blair
Community Manager
Community Manager

KtoA 4.3.5.0 uses Arnold 7.3.5.0 and is a feature release bringing USD improvements, faster volume intersection, faster baking, and Cryptomatte on GPU.

Installation

  • Download the Arnold for Katana plugin
  • Follow these installation instructions

Enhancements

  • Improved light display when looking through lights: When looking through a light in the viewer, the display of the light attributes such as spot cone are improved and much more sensible. (KTOA-1041)

  • Args generated from Arnold metadata: The args files that Katana uses for shaders and shader parameters are now generated from Arnold metadata. KtoA ships with the args files pre-generated, but it is possible to generate your own args files from the python utilities included in KtoA. The args data is now much more unified with the shader presentation in other Arnold DCC plugins, making it easier for users to move among the various packages with familiarity. (KTOA-981, KTOA-513)

  • Optimized Cryptomatte and GPU support: Arnold now has an internal implementation of Cryptomatte that adds support for GPUs and improves performance on CPU. Cryptomatte now consumes less memory for samples, making it easier to use higher AA settings, progressive rendering, and adaptive rendering (when properly used with FIS). In a simple scene rendered at 640x480 resolution with three cryptomattes the below table shows improvements in peak memory. (ARNOLD-11042)

CPU 7.3.4.1 7.3.5.0
fixed-AA 1346MB 442MB
progressive 3433MB 532MB
adaptive 8584MB 441MB

 

GPU 7.3.4.1 7.3.5.0
fixed-AA - 799MB
adaptive - 810MB
  • Corrected clamping of OpenPBR metallic lobe: The OpenPBR metallic lobe Fresnel previously exhibited energy gain when the specular_weight parameter was increased above 1. This has been corrected so that the Fresnel conserves energy in this case, saturating to a mirror reflection in the limit of high specular_weight.
  • Improved instancing in the alembic procedural: Instanced geometries are now better handled in Alembic. This fixes the known issues with make_instance, which is now enabled by default. (ARNOLD-15209, ARNOLD-8364, ARNOLD-8924, ARNOLD-7818)

  • Faster OpenVDB volume intersection: Intersecting OpenVDB volumes are optimized for many-cores. Scenes where volume::intersection is a sizable component of render time can see large speedups. One scene where it accounted for 73% of render time on a 128-core machine saw the volume::intersection time drop to 16% of total time, for an overall 3x speedup in render time. (ARNOLD-15448)

  • Faster uv_camera baking: The uv_camera.grid_size default is now 0 instead of 16, where 0 specifies that the grid_size is automatically chosen. Using the new default, baking a sphere with 800k triangles is now 6.5x faster than the previous default. (ARNOLD-15441)

  • Add more options settings to image metadata: Images with metadata, such as EXR files, now include arnold/AA_samples_max, arnold/AA_adaptive_threshold, arnold/fis_filter, and arnold/fis_filter_width metadata. (ARNOLD-15521)

  • [GPU] Support element linking of array parameters in ramp shaders: Arnold GPU now supports the linking of individual ramp parameter components for the position, value, color, and interpolation parameters. (ARNOLD-7120)

  • OSL version 1.13.3.0: OSL has been upgraded to version 1.13.3.0. See OSL release notes for details. (ARNOLD-15319)

  • MaterialX OSL closure support: the OSL closures defined by MaterialX (v1.38) for definition of layered physical materials have been ported to Arnold. For example, all the closures needed to implement the OpenPBR are now available in OSL. See OSL Shaders for more information

  • Limit node update recursion: Previously, node updates were propagated up the parent chain for all node types. We now do this for shape nodes only. This can improve node update time. (ARNOLD-15492)

  • Avoid unnecessary node updates: Resetting a node parameter to the current value will no longer cause a node update. (ARNOLD-15402)

  • Per-parameter update dependencies: Previously, a node update dependency caused a node to be updated whenever the dependency node was modified. We now define these dependencies based on parameters, so the node update is triggered only when one of the specified parameters on the dependency node was modified. (ARNOLD-15483)

Incompatible Changes

  • Missing dependencies: Custom nodes must declare all dependencies. Now that Arnold uses per-parameter dependencies, any missing dependencies will result in invalid data that may cause crashes or hangs. Also, shaders that depend on render camera values must declare a dependency on options.camera so that the shader is updated when a new camera is set. (ARNOLD-15483)

USD Enhancements

  • Hydra mode in the usd procedural: A new parameter hydra can be used to render the USD data through a Hydra framework. This supports interactive updates, and can be used to reproduce the same behaviour as a Hydra render delegate (usd#2109 usd#2107 usd#2019 usd#2017 usd#2003)

  • transform_keys primvar: When the primvar arnold:transform_keys is set, it controls the number of time samples used for the matrices of Arnold nodes (usd#2111)

  • Arnold Cameras in Hydra: Arnold cameras (vr, cylindrical, spherical, uv, fisheye) are now supported in Hydra. You create the Arnold cameras as USD built-in cameras, with a string primvar arnold:camera that specifies the Arnold camera type. (usd#1738 usd#2082)

  • Improved USD export that better supports Hydra: USD exports now support Hydra, so that scenes from Maya or 3ds Max now render as expected in Houdini Solaris.

    • usd#2000 - Write light filters through node graphs so they can be rendered in Hydra
    • usd#1965 - Write color manager attributes in the RenderSettings primitive
    • usd#2008 - Write spot and photometric lights as UsdLux schemas
    • usd#2030 - Write background and atmosphere shaders under a node graph for hydra support
    • usd#2031 - Write AOV shaders under a node graph for hydra support
    • usd#2025 - Write imagers through node graphs for hydra support
    • usd#1987 - Author familyName and familyType in GeomSubsets written as USD
    • usd#2080 - Author animated shader attributes in a way that they can render in hydra
    • usd#2047 - Shaders exports should be bound to a material
  • Fixed mismatches between USD and Hydra renders: Several changes were done, either on the procedural or the render delegate, in order to have a consistent behaviour in both code paths.

    • usd#1974 - Delegate should only create default shaders when needed
    • usd#1959 - Improve translation of normals and primvars in hydra
    • usd#1946 - Support color space in materialx for hydra
    • usd#2042 - Follow hydra normals skinning behavior in the procedural.
    • usd#2055 - Support animated curves orientations in hydra
    • usd#2053 - Visibility and sidedness attributes not supported in Arnold native hydra prims
    • usd#2061 - Support arnold light groups in Hydra
    • usd#2086 - Compute FOV in the procedural and hydra in a similar manner
    • usd#2057 - Add Ginstance support in hydra and fix a data race issue.
    • usd#2067 - Do not author useless "normals" user data in meshes/curves through the procedural
    • usd#2010 - Support TreatAsPoint in spot lights
    • usd#1979 - Support treatAsPoint in Hydra photometric lights
  • UsdPlane support: UsdPlane primitives were previously ignored, and are now rendered in Arnold. (usd#2058)

  • Improved support for ArnoldProceduralCustom primitives: ArnoldProceduralCustom primitives are now supported like other geometric primitives, including instancing and visibility settings. (usd#2064)

  • Profiling / Stats: Render settings can now specify filenames to output arnold profiling or stats files (usd#1118)

Incompatible Changes

  • Katana 4.5 and 5.0 support removed: The 4.5 and 5.0 release series for Katana is no longer supported in this release of KtoA. Please upgrade to the Katana 6.0, 6.5 or 7.0 release series.

Bug Fixes

  • KTOA-1049 - Ramp interpolation alternate default not getting built
  • KTOA-1042 - Live render updates of lights incorrect with light material templates
  • KTOA-993 - Args files are wrong for some shader nodes
  • KTOA-785 - Tiled rendering, can't build an output file from a type-mismatched part
  • ARNOLD-11891 - Random crashes when using the Maya hypershade
  • ARNOLD-15542 - Crash when modifying light group array on a mesh with instances
  • ARNOLD-15478 - [GPU] Hangs and crashes with uv_camera
  • ARNOLD-13968 - Add execute permission to ADPClientService on Linux
  • ARNOLD-15454 - Support overriding a user property on an instance if defined already on parent
  • ARNOLD-11794 - Vector type shaders render black when assigned to a shape


// Stephen Blair
// Arnold Renderer Support
0 Likes
Reply
178 Views
1 Reply
Reply (1)

tim.goransson6XTRC
Enthusiast
Enthusiast

Did something change with how we create the P AOV? What I currently have has been working fine in all previous KtoA versions we've used, but when I try 4.3.5.0 it renders black. 

We're using Katana 6.0v4, Arnold 7.3.5.0, KtoA 4.3.5.0, MtoA 5.4.6.0

0 Likes