Arnold for Katana Forum
Rendering with Arnold in Katana using the KtoA plug-in.
Showing results for 
Show  only  | Search instead for 
Did you mean: 

KtoA is here. Get it now!

Message 1 of 1
104 Views, 0 Replies

KtoA is here. Get it now!

KtoA uses Arnold and is a feature release.


Important: This Arnold version breaks binary compatibility. Shaders, procedurals, and other plugins compiled against older versions of Arnold are not compatible with this version of Arnold and will need to be updated and recompiled.


Katana 4.5 and 5.0 compatibility

Katana 4.5v3 and 5.0v3 introduced a change that affects the Arnold USD plugins support in Katana. This release of KtoA supports those Katana versions or newer within their release series. Katana 4.5v1, 4.5v2, 5.0v1, and 5.0v2 are not supported by this KtoA release.


  • ArnoldOutputManager node: The new ArnoldOutputManager simplifies the creation of render output channels and render outputs for Arnold, providing an Arnold-style view of filters, AOVs, outputs, and drivers. You can use the ArnoldOutputManager together with existing ArnoldOutputChannelDefine and RenderOutputDefine nodes if you need to edit specific attributes of the outputs afterwards. (KTOA-409)

    • NOTE: this node is still experimental, it does not cover 100% of the functionality of ArnoldOutputChannelDefine and RenderOutputDefine nodes. We strongly encourage users to give it a try and give feedback for any limitations they find. It will be improved in future releases. StephenBlair_0-1711552952058.png


  • Update Intel Open Image Denoise (OIDN) to version 2.2.2: The updated denoiser has 10% better performance on CPU, includes some critical bug fixes, and handles high-frequency details better. (ARNOLD-14772)

  • OptiX denoiser runs on progressive negative AA passes: The OptiX denoiser imager now denoises the low-resolution progressive passes (renders with AA < 0). This should result in higher quality feedback in IPR. (ARNOLD-11487)

  • MaterialX node definitions: The MaterialX node definitions for Arnold shaders now use the standard surfaceshader and volumeshader types, which make them easier to use in DCCs and mix with standard library shaders. The UI for Arnold MaterialX shaders is also improved with the addition of parameter groups and node categories. (ARNOLD-14717, ARNOLD-14736, ARNOLD-14716)

  • OCIO environment variable priority: The OCIO environment variable now takes priority over the configuration file set in the Arnold OCIO color manager as well as the builtin OCIO configuration file. A new ignore_environment_variable parameter on the OCIO color manager causes Arnold to ignore the value of the environment variable and restores the previous behavior. The OCIO environment variable is also now taken into account by maketx. (ARNOLD-9012)

  • Curves in procedural viewport API: Procedurals now return curves nodes in AI_PROC_POLYGONS viewport mode. (ARNOLD-14756)

  • Progressive dithered sampling: Arnold now supports dithered samples in progressive and adaptive rendering. Dithering brings nicer noise distributions at low AA sample counts. (ARNOLD-10739)

  • Improved MaterialX support: Arnold can now render MaterialX node graphs mixing Arnold nodes with MaterialX standard library nodes. DCCs loading the Arnold node definitions benefit from the newly added UI metadata and provide a better user experience. Arnold also now uses MaterialX 1.38.8, this update brings new nodes in the MaterialX standard library, for a full list of changes please see the full release notes. (ARNOLD-14286, ARNOLD-14623, ARNOLD-14513)

  • Emission and per-light-group AOVs: Per-light-group indirect AOVs no longer include emission. Emissive surfaces now only appear in the "default" light group output. When using emission in shaders, the sum of the light group AOVs will now add up to the beauty pass. (ARNOLD-9453)

  • Evaluate autobump in SSS on GPU: Autobump will now be evaluated in the SSS computation with the GPU renderer when the sss_use_autobump option is enabled, this matches the behavior when rendering on CPU. (ARNOLD-8494)

  • Device selection in the Intel Denoiser: It is now possible to toggle between Auto/CPU/GPU for OIDN denoiser imager. Arnold now also provides accurate timing information for the denoiser in the log. (ARNOLD-14524, ARNOLD-14526)

  • Batch renders now abort on license fail: Arnold now aborts if there is a license error in a batch render. The option abort_on_license_fail is now true by default, and applies to batch renders only. This means you don't have to check rendered image sequences for watermarks. Interactive renders do not abort, and have a watermark on license fail as usual. The environment variable ARNOLD_FORCE_ABORT_ON_LICENSE_FAILoverrides this default behavior (0 = batch and interactive render with watermarks on license fail, 1 = batch and interactive abort on license fail). (ARNOLD-13024)

  • Add license checkout time to render statistics: The render statistics now include the "license checkout time", which is the time in microseconds spent on license checkout for a specific render. This is useful to users to diagnose long checkout times when rendering in batch. (ARNOLD-13497)

  • New network server configuration modes in the License Manager: You can now choose a license file or specify a three server redundancy setup on the network server configuration tab in the License Manager. (ARNOLD-14586, ARNOLD-14615)

  • Upgrade to OpenColorIO 2.3.2: OpenColorIO library has been upgraded to use version 2.3.2. For the list of changes see the release notes for 2.3, 2.3.1, and 2.3.2. (ARNOLD-14026)

  • Updated Alembic to 1.8.5: The Alembic procedural has been upgraded to use version 1.8.5 of the Alembic library. (ARNOLD-14448)

  • Autodesk Analytics Program: A newer version of the Autodesk Analytics Program (ADP) has been integrated into Arnold. This brings stability improvements. (ARNOLD-13805)

USD Enhancements

  • Imager node support: Support for the new imager node in USD. usd#1870
  • Export ArnoldOptions as UsdRenderSettings - When we use the Arnold exporter to write USD, the Arnold options node is converted to UsdRenderSettings, UsdRenderProduct, and UsdRenderVar. usd#1852, usd#1865
  • Points velocities motion blur - In Hydra, point velocities are now taken into account. usd#1868
  • Unify transmission depth default value - Set the default value to 8, to match what Arnold plugins like HtoA and MtoA expose in their UIs. usd#1889
  • Light linking on custom procedurals: You can now use light linking on custom procedurals such as Yeti in the render delegate. (usd#1730)
  • Update to USD 23.11: The USD version was updated from 22.11 to 23.11 in the procedural. The USD Arnold procedural embeds a static version of USD 23.11, see USD 23.11 Changelog for all the changes related to this new version of USD.
  • Light instances: You can now instance lights with a Point Instancer. (usd#1705)
  • Visibility and Mattes on instances in Hydra: In the Hydra Render Delegate, the Arnold visibility and matte attributes now work on instances. (usd#1635)

API changes

  • Imager plugin API: A public API is now available for imagers. This adds support for custom and third-party imagers in Arnold. (ARNOLD-10322)

The API is built upon a new AI_NODE_IMAGER node type and is implemented via two main API.

  • imager_evaluate allows you to modify output pixels of a render.
#define imager_evaluate
static void ImagerEvaluate(AtRenderSession* render_session, AtNode* node, struct AtOutputIterator* iterator, int bucket_xo, int bucket_yo, int bucket_size_x, int bucket_size_y, uint16_t tid)
  • imager_prepare is an optional API allows you to query the outputs an imager will recieve and prepare any evaluation specific data.
#define imager_prepare
static void ImagerPrepare(AtRenderSession* render_session, AtNode* node, const AtNode* driver, struct AtOutputIterator* iterator, AtImagerSchedule& schedule);

Additionally, there are a couple of helper APIs for the imager_prepare method. These API let you request additional inputs to be rendered for imager evaluation, and to add additional output layers that the user may want to write to the driver.

AI_API bool AiImagerAddInput(AtRenderSession* render_session, const AtNode* imager, const AtNode* driver, int aov_type, AtString aov_name, AtNode* filter);
AI_API bool AiImagerAddOutput(AtRenderSession* render_session, const AtNode* imager, const AtNode* driver, int output_type, AtString output_name);
  • Builtin metadata: Nodes and their parameter definitions have been augmented with more metadata that could be useful across DCCs. The metadata that has been included are the following: animateable, default, help, gpu_support, hide, linkable, max/min, softmax/softmin and units. Some of these metadata were previously distributed as separate mtd files in each DCC. (ARNOLD-10265)

  • Improved builtin metadata: Node and node parameter definitions have been further augmented with metadata that could be useful across DCCs. The metadata that have been added or improved are the following: help, category, ui.groups. Some of these metadata were previously distributed as separate mtd files in each DCC. (ARNOLD-14677, ARNOLD-14678, ARNOLD-14702, ARNOLD-14661)

  • Remove _private functions from BSDF API: The functions AiMicrofacetBSDF_private and AiMicrofacetRefractionBSDF_private (included to support dielectric priority) have now been removed from the BSDF API. The functions AiMicrofacetBSDF and AiMicrofacetRefractionBSDF now take dielectric_priority as an optional argument. (ARNOLD-14166)

  • Expose conductor Fresnel mode as an enum in AiMetalBSDF: AiMetalBSDF has been modified to accept an AtMetalFresnelMode enum argument, selecting between the original "Gulbrandsen" conductor Fresnel model and the new "F82-tint" model. (ARNOLD-14165)

  • Expose random walk version in the closure API: AiClosureRandomWalkV2BSSRDF has been removed, and instead the existing AiClosureRandomWalkBSSRDF has been modified to accept an AtRandomWalkVersion enum argument, selecting between the original v1 and v2 SSS modes. (ARNOLD-14164)

  • Expose thin walled transmission in the public BSDF API: AiMicrofacetBSDF has been modified to accept an optional thin_walled_transmission argument, which specifies the fraction of the BSDF considered to represent a thin-walled dielectric. This is used to implement thin-walled transmission in Standard Surfaces. This was previously implemented in a way that circumvented the API, which has been fixed to be more explicit with this change. (ARNOLD-14167)

  • Provide azimuthal roughness to AidEonBSDF: AidEonBSDF has been modified to accept a roughness_azimuthal argument, specifying the specular roughness for azimuthal scattering specifically. This is in addition to the existing roughness argument specifying the specular roughness for longitudinal scattering. (ARNOLD-8325)

  • Removed AiADPSetIntroShown() and AiADPDialogStrings(): These deprecated functions were removed from the Arnold API. (ARNOLD-13805)

  • Change AiUniverseCacheFlush API to receive a non-const universe: The AtUniverse passed into AiUniverseCacheFlush() was changed from const to non-const. (ARNOLD-14548)

  • Remove deprecated AiGPUCachePopulate functions: Deprecated functions AiGPUCachePopulate(), AiGPUCachePopulateStatus(), AiGPUCachePopulateRemainingSeconds(), and AiGPUCachePopulateTerminate() have been removed. (ARNOLD-14570)

  • Remove deprecated AiRenderSetCallback function: Deprecated function AiRenderSetCallback() has been removed. (ARNOLD-12583)

Incompatible Changes

  • OCIO configuration default and environment variable priority: The OpenColorIO environment variable OCIO is now respected and prioritized by default if you don't create a specific color manager material and set it in ArnoldGlobalSettings. This is likely to result in your scene using the Katana default OCIO configuration file instead, and switching to the Katana default scene-linear color space for rendering instead of the Arnold ACEScg scene linear color space. (KTOA-995, ARNOLD-14766)

  • This version breaks binary compatibility: Shaders, procedurals, and other plugins compiled against older versions of Arnold are not compatible with this version of Arnold and need to be updated and recompiled.

  • Autodesk Network Licensing version: Arnold 7.3 switches to ARNOL_2025 licensing. (ARNOLD-14292)

    • Single-user subscriptions will work with Arnold 7.3. The plugin installers automatically register the new version. If you do not use a plugin, then after you download Arnold, open the Arnold License Manager and click Register.
    • Existing network licenses will not work with Arnold 7.3. Log on to your Autodesk account to generate your new ARNOL_2025 licenses.
    • If you do not run the installers, and you manually register Arnold, then use--pk C0PQ1 --pv 2025.0.0.F with the AdskLicensingInstHelper command.
  • abort_on_license_fail defaults to true: Arnold now aborts by default if there is a license error in batch renders. You can revert to the previous behavior by setting the abort_on_license_failto false, or by using the new ARNOLD_FORCE_ABORT_ON_LICENSE_FAIL environment variable. (ARNOLD-10455, ARNOLD-13024)

  • Emission and per-light-group AOVs: Per-light-group indirect AOVs no longer include emission. (ARNOLD-9453)

Bug Fixes

  • KTOA-966 - Crashes and wrong denoising results
  • ARNOLD-6309 - System locale should not affect .ass reading or writing
  • ARNOLD-14586 - License manager fails to read network servers from lic file
  • ARNOLD-9453 - Emission contribution was included in light group indirect AOVs
  • ARNOLD-14246 - [MaterialX] Promoted attributes and nodegraph interfaces are ignored
  • ARNOLD-14601 - [MaterialX] Missing enum values in node definitions
  • ARNOLD-14612 - [MaterialX] Ignored color space on standard library image nodes
  • ARNOLD-14646 - [MaterialX] Crash when using the distance node in USD
  • ARNOLD-14561 - [MaterialX] Crash when mixing Arnold and standard library shaders
  • ARNOLD-14287 - Rare crash when compiling OSL with LLVM during IPR
  • ARNOLD-14634 - Error when denoising unsupported pixel type AOVs in OIDN and OptiX
  • usd#1547 - Fix mesh lights shutoff when there is a light link in the scene.
  • usd#1859 - Support PointInstancer invisibleIDs for lights
  • usd#1881 - Support UDIM and relative paths on mtlx image shaders
  • usd#1884 - Set a proper name to skydome image node in Hydra
  • usd#1890 - Reduce VtArray memory consumption, specially in the instancer.
  • usd#1874 - Shader output attributes should be outputs:out to match the Sdr registry
  • usd#1878 - Make Arnold relative path optional for image shaders
  • usd#1873 - Ensure materials are written under a scope primitive
  • usd#1547 - Fix mesh lights shutoff when there is a light link in the scene.
  • usd#1859 - Support PointInstancer invisibleIDs for lights
  • usd#1758 - Fix several crashes by returning a default value when an attribute type is not recognized.
  • usd#1756 - Registry should declare filenames as assets in GetTypeAsSdfType.
  • usd#1770 - Fix exr driver always rendering float with husk when productType is arnold.
  • usd#1772 - RectLight texture uvs are now consistent between husk, kick and other renderer.
  • usd#1776 - Fix incorrect PointInstancer instance orientations in the render delegate.
  • usd#1769 - Fix curve uvs when they are vertex interpolated.
  • usd#1784 - The aov layer name is now correctly taken into account when rendering exrs with husk and using the arnold productType.

System Requirements

  • Windows 10 or later, with the Visual Studio 2019 redistributable.
  • Linux with at least glibc 2.17 and libstdc++ 4.8.5 (gcc 4.8.5). This is equivalent to RHEL/CentOS 7.
  • x86-64 CPUs need to support the SSE4.1 instruction set.
  • GPU rendering works on Windows and Linux only and requires an NVIDIA GPU with Maxwell architecture (released in 2014) or newer. We recommend using the 535.104 or higher drivers on Linux and 537.13, or higher on Windows. See Arnold GPU for more information.
  • GPU rendering works on Windows and Linux only and requires an NVIDIA GPU with the Maxwell architecture or later.
  • Katana 4.5v3 or newer, Katana 5.0v3 or newer, Katana 6.0v1 or newer, Katana 6.5v1 or newer, or Katana 7.0v1 or newer.

// Stephen Blair
// Arnold Renderer Support

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report