KtoA 1.1

Download and Installation

Arnold, KtoA, and other downloads are available here.  Installation instructions come with KtoA, but can also be viewed here: Installation.


  • Arnold: 4.2.13+
  • Katana: 2.1v2+, 2.5v1+
  • Platforms:
    • Linux: x86-64, RHEL 6+ or compatible glibc
    • Windows: x86-64, Windows 7+ with VC++ 2015 redistributable installed (requires Katana 2.5v1+)


  • Updated to Arnold Arnold is now bundled with KtoA.

  • Windows port: In conjunction with the Windows port of Katana, KtoA now includes Windows as a supported platform. (#97)

  • Use CCW winding order: KtoA now submits polygons using Arnold's native winding order, counter-clockwise, instead of Katana's clockwise. This fixes a few rendering issues such as mesh lights emitting the wrong direction, non-catclark subdivs with displacement and autobump rendering incorrectly, and it also causes KtoA to match winding order submitted by procedurals that it does not control. (#33)

  • Arbitrary data on lights from look files: Arbitrary (user) data set on lights with the ArnoldUserData node that came from look files is now properly applied. Also, if any arbitrary data is set in the geometry.arbitrary attribute group it will be respected and translated. (#91)

  • Simplified procedural expansion controls: Previously, there were three different parameters to control procedural expansion in ArnoldGlobalSettings: forceExpand, procedural_force_expand, and suppressProceduralExpansion. They interacted with each other in sometimes obscure ways, so these have been consolidated down to one parameter, proceduralExpansion in the Scene Generation page of ArnoldGlobalSettings. The possible values are at startup where the katana scenegraph is flattened and all renderer procedurals are expanded at the start of the render; flatten locations which just flattens the scenegraph rather than allowing deferred loading as rays hits the location bounds; and during render which waits for a ray to hit locations and renderer procedurals before loading them. The former two are handy if you know most objects in your scene will be hit by at least one ray, while the latter is preferred if a significant portion will not be hit by rays so that the loading overhead can be skipped. Please note also that when dumping to .ass or writing out a debug .ass file, to get the old suppressProceduralExpansion behavior you will need to set proceduralExpansion to during render. (#39)
  • Control for threads used in disk/batch rendering: If the --threads3d=<count> command-line argument was not specified for batch rendering, then KtoA would fall back to the thread count specified in ArnoldGlobalSettings. This is set up by default to reserve a core for interactivity, but is not at all desirable for batch rendering. There is now a separate control for disk and batch renders, diskRenderThreads that will be used in those cases and defaults to using all cores. You can still override the thread count on the command line for batch rendering. (#87)
  • Explicit support for deep outputs: Deep-type output can now be tagged as such in RenderOutputDefine nodes, although deep outputs were already supported via color and raw types previously. However, overscan and other bugs have been fixed so that data and display windows in deep EXRs are now correct, and deep outputs are read back in properly to Katana with the latest releases. (#93)
  • Improved instancing support: A new node type ArnoldInstanceSettings is available to ease in setting up both auto-instancing (which sets the attribute instance.ID) and regular instancing (location type instance with attribute geometry.instanceSource that points to an instance source location). It allows inheriting the transform from the instance source location if desired. Also, using ArnoldObjectSettings on an instance location should now work as well. (#95)
  • Targeted instance arbitrary data: Setting arbitrary data on an instance or pointcloud instance will apply to all children of the instance source. However, for arbitrary data, adding a string (or string array) match attribute with the name/path of particular children of the instance source will make it apply to only that child when instanced. E.g. if an instance source has children prim1, primgroup/prim1, and primgroup/prim2, setting arbitrary data geometry.arbitrary.myArbitraryAttr.match to primgroup/prim1 would cause myArbitraryAttr to only apply to just the one child. (#100)
  • Curve mode on Yeti procedurals: A new parameter mode has been added on ArnoldYeti nodes so that the curve mode (ribbon, thick, or oriented) can be chosen. (#102)
  • Args files for lights: Lights now have better UI for their parameters, and help documentation on the parameters. (#83)
  • About box: KtoA now includes a copy of all license agreement and legal notice information, including via a new shelf script that provides an About box for KtoA. (#98)

Incompatible Changes

  • Light decay_type hidden: Arnold has now long-defaulted the light decay to quadratic, which is physically accurate. Using the other decay methods causes problems with multiple-importance sampling, and should be avoided. This parameter is now hidden from the UI. To get artistic control over light falloff, users should instead use light filters. (#85)

  • Mesh light emission direction: Mesh lights now emit light following the actual surface normals, instead of emitting the other (wrong) direction. If you applied workarounds for this previously, you will need to undo your workarounds. (#33)
  • Removed old procedural expansion parameters: In conjunction with the new proceduralExpansion parameter in ArnoldGlobalSettings, the other three parameters controlling this behavior have been removed. You will need to run the update shelf script to move your settings to the new parameter. Just in case, forceExpand is still honored if present for backwards compatibility to avoid surprises. Also note that setting a forceExpand attribute on any Katana location is still supported, so you can force-expand just parts of the scenegraph using that location attribute as always. (#39)
  • Removed CWD from Arnold plugin search paths: The current working directory where Katana is launched from is no longer searched automatically for Arnold plugins. This was interfering with the Katana plugin system on Windows, and so you should set the paths within the Katana recipe itself (in the ArnoldGlobalSettings node) or else set the ARNOLD_PLUGIN_PATH environment variable prior to launch. It is recommended to not include the path . in any of the Arnold plugin paths especially on Windows. (#103)
  • Verbose parameter on ArnoldYeti nodes: The parameter verbosity was renamed to verbose following the Yeti docs. The update shelf script will rename this parameter for you. (#102)
  • Subdiv settings apply to polymesh locations: Any subdiv settings set in the ArnoldObjectSettings node will now apply to polymesh locations instead of just subdmesh locations, although a warning will be issued in the render log reminding you to change the location type for maximum compatibility with Katana behavior. (#101)

Bug Fixes

  • #19 ROI incorrect during live rendering

  • #39 Consolidate the multitude of force-expand parameters

  • #68 Deep EXR output display windows always match data windows

  • #79 Sync channel types in Arnold render settings

  • #87 Batch mode uses thread count from ArnoldGlobalSettings

  • #94 Include EULA in KtoA installation

  • #81 Displacement with smoothing and autobump enabled renders very dark

  • #91 Allow arbitrary user data on lights in all cases

  • #98 Update About Box for KtoA

  • #99 Precision issues with particle-instancing quaternion rotations

  • #103 Don't load arnold plugins from CWD

  • #104 Set default renderer in KtoA launch script

  • #107 Move and rename update shelf script

  • #108 Instance arbitrary data applied multiple times


  • No labels