HtoA 1.7.0

11 September 2015

This is a feature release, with many core enhancements and Houdini 15 support.

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

This release uses Arnold and OpenVDB 3.0.0.

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

  • 14.0.444
  • 14.0.395

and for the following platforms:

  • Linux x86_64 (gcc4.4 for H14, gcc4.8 for H15)
  • Windows 7 x64 (vc11)
  • Mac OS X 10.8+ (H14 support only)

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

Core enhancements, see the full Arnold release notes for more details.
  • Refractive dispersion: The standard shader now supports chromatic dispersion through refraction. The new parameter dispersion_abbe specifies the Abbe number of the material, which describes how much the index of refraction varies across wavelengths. For glass and diamonds this is typically in the range 10 to 70, with lower numbers giving more dispersion. The default value is 0, which turns off dispersion. The chromatic noise can be reduced by either increasing the global AA samples, or the refraction samples. (core#4835)

  • Volumetric scattering AOVs: Direct and indirect scattering in volumes can now be rendered separately using the new volume_direct and volume_indirect AOVs. (core#4806)

  • Perspective OpenVDB volumes: The accompanying OpenVDB volume DSO provided with our DCC plugins has now been optimized to render perspective grids, also known as frustum buffers. The speedup depends on the specific perspective transformation, but we have seen 4x-6x faster rendering in tests. (core#4827)

  • Faster volumes: Volume lookups with multiple channels render 5% faster in various tests. (core#4516)

  • Faster curves: Curves in thick mode now render 2-20% faster. Curves with non-zero min_pixel_width now render up to 2x faster. (core#4823, core#4824)

  • Faster deep EXR: The driver_deepexr node has been optimized, resulting in up to 25% faster rendering, most notably when using volumes. (core#4811)

  • Faster subdivision: Several optimizations were added to the Catmull-Clark subdivision engine. Adaptive subdivision mode is now 4% faster, and smooth derivatives (as needed by anisotropic surface shading) are 27% faster while using 8% less memory. (core#4832, core#4837)

  • Faster opacity: The arnold core shaders (lambert, standard, etc...) now make use of AiShaderGlobalsApplyOpacity() which can result in significant speedups when shading with partial opacity, or when using opacity-mapped tree leaves. This optimization is controlled by options.enable_fast_opacity. We have also improved AiShaderGlobalsApplyOpacity() so that it is faster and higher quality than before. User shaders are advised to make use of this function in order to benefit from the faster opacity . (core#4434, core#4775, core#4800, core#4814)

  • Driver time stats: Output driver time is now reported in the render time section of the log file stats. This can be used to detect bottlenecks related to deep image output, excessive number of AOVs or networking issues. (core#4840)

  • Separate direct and indirect SSS: Variants of the SSS/BSSRDF shading and lighting API that return both the direct and indirect results separately now exist. The built-in standard shader and the external skin shader have also been extended to make use of this new API by means of separate direct and indirect SSS AOVs. (core#3217)

  • Depth of field: Perspective cameras have a new persp_camera.flat_field_focus attribute which is set to true by default to match the standard thin lens camera model. This prevents overblurring away from the optical axis. Some renders might change, specially with wide FOV angles or very shallow DOF. Set persp_camera.flat_field_focus false to get the previous behavior. (core#4810)

  • Opacity in utility shaderutility shaders with opacity will now render less transparent than before, previously it was incorrectly rendering too transparent. The new opacity behaviour better matches other shaders like standard and lambert. (core#4836)

  • Bump and object scale: The bump2dbump3d shaders and the AiShaderGlobalsEvaluateBump() API function now take into account object scale by default. Previously the bump displacement height would not scale along with the object, which was inconsistent with displacement and autobump. The new global options.bump_space is set to object by default, but can be set to world for backwards compatibility. This new global option will likely be removed in the next API-breaking major release. (core#4784)

HtoA enhancements
  • Added support for the instancefile point attribute to directly create .ass file procedurals instances (htoa#527)
  • Objects now have an ar_skip boolean parameter that, if enabled, will exclude the OBJ from the translation entirely, regardless of the object being forced on the ROP. This is useful to prevent objects in a forced subnet or digital asset to render, like embedded instance sources for example (htoa#678)
  • Fixed bad initialization in shader parameter template (htoa#665)

  • Improved performance when exporting cameras with thousands of nodes in the scene (htoa#669)
  • Fixed IPR becoming unresponsive when updating instances transform (htoa#672)
  • Fixed crash on empty VDB grids (csp#82)
  • Slightly optimized blackbody shader (htoa#622)
Incompatible changes
  • Removed the blend_opacity parameter of the aov_write_int shader, as it does not make sense for integer AOVs, it's only supported for FLOAT, RGB or RGBA AOVs (htoa#677)

  • No labels