HtoA 3.2.1

12 December 2018


This is a feature release, bringing packed primitive translation, alembic procedural IPR fixes, and many other core fixes. Note that all the packed geometry is unpacked at translation time, except for the Alembic primitives which use our alembic procedural. 
However, we now use Arnold instancing to share packed geometry created by the copy SOP when using the Pack and Instance option.  



  1. Get the install files on Solid Angle Downloads.
  2. Follow these installation instructions.


This release uses Arnold and OpenVDB 4.0.0.

Binaries available for the following Houdini, Houdini FX, Houdini Indie and Houdini Education production builds:

  • 16.5.634
  • 17.0.352
  • 17.0.416


and for the following platforms:

  • Linux x86_64 (H16: gcc4.8 and H17: gcc6.3)
  • Windows 7 x64 (H16: vc14 and H17: vc14.1)
  • Mac OS X 10.8+ (clang7.3)


Please note that Houdini Apprentice does not support third-party renderers and thus cannot run HtoA.


  • Packed primitive translation (htoa#381) 
  • CopyToPoints SOP should Instance with Pack and Instance option (htoa#1133)

  • Translate packed fragment primitives (htoa#1142)

  • Inherit materials for packed primitives (htoa#1139)

  • Memory usage in CopyToPoints SOP translation when instancing packed primitives (htoa#1148)

  • Deformation motion blur for packed primitives when instancing (htoa#1152)

  • Add toon UI for sheen parameters (htoa#1125)

  • Add cryptomatte AOVs to ROP (htoa#1132)

  • Add the velvet preset for Standard Surface (htoa#1138)

  • Improved sampling of photometric lights: Photometric lights now take advantage of the same techniques used for point lights. This can show significant reductions in noise, especially for large lights illuminating surfaces at grazing angles (rim lighting, for example). (core#7646)
  • Separate azimuthal roughness in standard_hair: You can now specify different roughness values for the azimuthal and longitudinal distributions on the standard_hair shader. A new roughness_azimuthal parameter is used when roughness_anisotropic is enabled. The roughness parameter is then used to control the longitudinal roughness. When roughness_anisotropic=falseroughness controls both the azimuthal and longitudinal distributions as before. (htoa #1137, core#7400)
  • License manager priorities: Order in which license managers are checked can now be specified by the environment variable ARNOLD_LICENSE_MANAGER which contains a comma separated list of the following tokens (clmrlm or none). If ARNOLD_LICENSE_MANAGER is not set, Arnold will use the default priorities of rlm,clm. (core#7384) 
  • Linkable toon uv/angle_threshold: The NPR toon shader's uv_threshold and angle_threshold parameters are now linkable. (core#7713)
  • Adaptive Subdivs Interruption: It is now faster to interrupt ongoing adaptive subdivision (core#7722)
  • Cryptomatte 1.1.0: Upgraded Cryptomatte to 1.1.0 which contains the fix: "Preview AOVs are now always displayed in display drivers, even when preview_in_exr is disabled". (core#7631)
  • Upgrade OIIO and OSL: OIIO has been upgraded to 2.0.0 and OSL to 1.10.1 (core#6040, core#7283)
  • Profiling node stages: Profiling of node_init and node_update have been added so that it's possible to see which nodes are consuming significant time in these stages. (core#7313)

Incompatible changes

  • Round corners default radius: The default value of round_corner.radius has been changed from 1.0 to 0.01 (core#7624)
  • Photometric lights with radius: Just like their point_light counterparts, points within the sphere defined by photometric_light.radius will no longer be illuminated. (core#7646)
  • Minimum OSX version requirement raised from 10.8 to 10.9 In order to upgrade to a more recent version of OIIO, the minimum required OSX version has been raised from 10.8 (Mountain Lion) to 10.9 (Mavericks). (core#7318)


  • Alembic primitives IPR frame update issue (htoa#1119)

  • IPR crash on camera update with alembic procedural (htoa#1122)

  • Crash rendering packed agents with deformation motion blur (htoa#1144)

  • Assign Material ROP Fixes (htoa#1129)

  • Fix makeTx texture generation for duplicate textures (htoa#1131)

  • Auto generate .tx textures on light textures (htoa#1068)

  • Round corners default radius fixed (htoa#1126)

  • Multiple concurrent users on the same node each check out a license with CLM (core#7359)

  • Uncaught exception during OptiX device selection (core#6925)

  • Toon Render: random issues with keylight initialization (core#7436)

  • Shadow artifacts in Overlapped Polygons (core#7588)

  • Randomly corrupted matrix on procedural lights (core#7593)

  • Noice: AOV variance is not found if added using LPE AOVs (core#7596)

  • photometric_lights crash when radius is non zero (core#7605)

  • Round Corners: not working with transmission (core#7623)

  • Round corners: switch default radius to 0.01 (core#7624)

  • crash when writing to an invalid profile.json (core#7629)

  • uv_camera crashes with tiny triangles without normals (core#7632)

  • noice requiring more output paths than inputs (core#7643)

  • Alembic Scalar property being translated as Array (core#7663)

  • alembic crash with bucket callback in Arnold < 5.2 (core#7682)

  • Threaded subdivs crash on render abort (core#7691)

  • Disable OptiX when bad NVML is found (core#7698)

  • degenerate camera_projection produces invalid texture lookups (core#7712)

  • Threaded Subdivs: fix interrupt request latency regression (core#7722)

  • Crash in materialx due to invalid/unrecognized node types (core#7723)


See also the Arnold release notes for the full list of core enhancements and fixes.


  • No labels