You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

18 July 2017

This is a feature release, bringing AOV shaders, improved meshlight sampling and polymesh as volume.

  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.0.600
  • 16.0.633
  • 16.0.671


and for the following platforms:

  • Linux x86_64 (gcc4.8)
  • Windows 7 x64 (vc14)
  • Mac OS X 10.8+ (clang7.3)


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

  • AOV shaders: A list of shaders can be defined on the ROP that will be evaluated after the regular surface shader. This is useful to produce ID matte AOVs, such as the popular Cryptomatte. With this it's possible to add shaders to set specific AOVs without modifying the original shader tree. Shaders intended for this purpose should add a boolean metadata named aov_shader on the node itself, as a user-interface hint. If an atmosphere or background shader is set, these global AOV shaders will also be run for those contexts. (core#5942, htoa#905)
  • Improved mesh light sampling: A new sampling algorithm has been implemented for mesh lights which can greatly improve their rendering quality when shading points near the light's surface, particularly in volumes. (core#6005, core#6062, core#6074)
  • Indirect sample clamp: The new indirect_sample_clamp parameter on the ROP works similarly to the existing AA_sample_clamp, but only affects indirect light, so that specular highlights from direct lighting are preserved. This makes it possible to clamp fireflies more aggressively without affecting the final render significantly. It is set to 10.0 by default. Lower values result in more aggressive noise reduction, possibly at the expense of dynamic range. (core#5978)
  • Update scripts for shaders and ROP: You can now right-click shaders, Arnold VOP networks and ROPs to upgrade them to the current version of Arnold and HtoA. You can also globally convert all the deprecated shaders in the scene from the Arnold menu. Conversion scripts for the deprecated standard and hair shaders, the Arnold ROP from a previous version of HtoA and the discontinued alSurface and alHair shaders are provided. For shaders, the conversion will attempt to match the look as closely as possible with a standard_surface or standard_hair shader. (htoa#900)
  • Polymesh as volume container: The polymesh node now can be a volume container when step_size is greater than zero, and in that mode it will interpret the assigned shader as a volume shader. This is similar to other volume containers like sphere and box. A built-in channel named "density" is provided for shaders to query, which will be 1.0 on the inside of the polymesh, and 0.0 outside. To facilitate positional displacement in the volume shader, which is commonly used to add detail such as noise, there is an additional parameter volume_padding that will provide extra room. Note that large volume padding values, particularly when combined with high polygon counts (including through subdivision) will hurt performance, so only use the amount of subdivision and padding you need. (#6039, #6057, #6059, #6060)
  • Padding in volume-capable primitives: In addition to the polymesh node, now pointsbox and sphere when in volume mode can have volume_padding applied so that positional displacement can be added in the volume shader. (core#6055, core#6059)
  • Iridescence in standard_surface: Iridescence effects can be controlled by the new parameters thin_film_thickness and thin_film_IOR in the standard_surface shader, affecting the specular, transmission and coat components. This uses a new per-microfacet Airy formula, supports artistic Fresnel or complex IOR, and gives much more accurate results than the older thin_film shader. Typical thickness values are in the 0nm to 2000nm range. The effect will disappear above 3000nm. (core#5750)
  • Use AiMakeTx API: The conversion of textures to TX now use the core AiMakeTx API, bringing faster, multithreaded conversions and updates. (#895)
  • VR Camera: The Houdini VR camera is now translated to the native Arnold 5 vr_camera. A new input is provided on the Camera Output VOP to optionally connect a merge shader. (htoa#790)
  • Per AOV driver options: The ROP UI now allows optionally setting driver options per AOVs, for precision and pixel format. (htoa#854)
  • Sharper quad and disk light spread: Due to a more mathematically robust implementation, quad and disk lights now allow for more focused beams when their spread parameter is at zero. (core#5980)
  • Faster BVH builds: The BVH ray accel data structures are now faster to build, specially on machines with many cores. On a dual-socket 56-thread machine we've seen up to 2x faster builds and on a quad-socket 64-thread machine it's up to 3x faster. (core#3474, core#5951, core#5962, core#6001)
  • Exact Fresnel equation: The exact Fresnel equation is now used for both microfacet BRDF and microfacet refraction BSDF instead of Schlick's approximation. (core#5371)
  • Coat AOV: New built-in AOVs were added for the standard_surface shader: coatcoat_directcoat_indirect and coat_albedo AOVs. The builtin specular AOVs now only contain the base specular layer. (core#6014)
  • Skydome Light AOV: The skydome light is now output to direct light AOVs by default again as in Arnold 4. It can still be output to the indirect light AOV by enabling the skydome_light.aov_indirect parameter. (core#6022)
  • Normal map shader: A strength parameter was added to increase or decrease the effect of the normal_map shader, with the default 1.0 applying the normal map unmodified. The normalize parameter was removed and the output normal is now always normalized. (core#5971)
  • Camera barrel distortion: A new persp_camera.radial_distortion attribute has been added to specify the camera's quadratic radial distortion, with negative and positive values resulting in pincushion and barrel distortion respectively. (core#2385)
  • Camera FOV EXR metadata: As a convenience, a new field CameraFov has been added to EXR metadata to explicitly store the render camera's FOV. This is a lot easier than having to derive it from the film aperture and focal length with the formula fov = 2 * Rad_To_Deg * atan(CameraFilmApertureHorizontal / (2*CameraFocalLength)). (core#6026)
  • Half-float EXR layers: Output layers in files that support layers (such as regular or deep EXR files) can be individually set to type HALF by adding an optional HALF modifier to the corresponding output string. For instance: "my_aov RGB filter driver HALF". (core#3839)
  • Custom EXR layer names: Output layer names can be customized in file formats that support layers (regular or deep EXR) by adding an optional custom layer name after the driver name in the options.outputs string: (core#6047)
  • Weighted variance filter: The variance filter has a new variance_filter.filter_weights to set the weights used for each sample. The default value (box) matches the previous behavior. (core#5954)
  • Upgraded OSL to 1.9.0: Open Shading Language has been upgraded to the latest version. This brings many performance improvements and bugfixes, along with new features such as operator overloading, struct initializers, and new utility functions. (core#6034)
  • Color management: Many color managements shortcomings have been fixed while switching to the AiMakeTx API. (htoa#895)
  • Digital signing: The installers and binaries are now digitally signed on Windows and Mac for added security, avoiding the security prompts when installing. (htoa#890)
  • Uppercase tokens with AutoTX: The uppercase versions of the <UDIM>, <ATTR> and <TILE> texture filename tokens are now supported by AutoTX. (htoa#901)
  • Skip creation of the current working directory: The current working directory is now skipped when "Create Intermediate Directories" is enabled. (htoa#917)
  • Fix "parameter not found" errors with volumes: These harmless error messages were output in the log when translating volumes, causing confusion. (htoa#903)
Incompatible changes
  • Indirect sample clamp: This feature is enabled by default (at 10) and in most scenes will have little impact besides reducing noise. For fully backwards compatible renders this parameter may be set to a very high value like 1e30. (core#5978)
  • Exact Fresnel equation: Due to the change of the Fresnel term, there will be differences especially when the relative IOR is close to 1, for example, when light travels from water to ice. (core#5371)
  • OSL texture color space: By default no automatic color space conversion is applied anymore in texture() calls. To revert to the previous behavior, use the optional colorspace argument set to autotexture("filename.jpg", u, v, "colorspace", "auto"). (core#6030)
  • bounds_slack renamed to volume_padding: In volume nodes (those backed by plugins, such as the built-in OpenVDB volume node) the bounds_slack parameter has been renamed to volume_padding to be consistent with the other nodes. A synonym exists for bounds_slack so it will continue to work, but will emit a warning when used to remind you to switch to the new parameter name. (core#6059)
  • OCIO config defaults: For well known OCIO configs Arnold will use a name-based heuristic to determine reasonable default color spaces and chromaticities. These new defaults will be reported in the log file. This applies to ACES, nuke-default, spi and filmic-blender configs. Previously Rec. 709 chromaticities were always assumed. (core#6035)


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

  • No labels
Privacy settings / Do not sell my personal information / Privacy/Cookies