21 October 2018
This is a feature release, bringing round corners, alembic procedural improvements and many core fixes.
Installation
- Get the install files on Solid Angle Downloads.
- Follow these installation instructions.
Compatibility
This release uses Arnold 5.2.1.0 and OpenVDB 4.0.0.
Binaries available for the following Houdini, Houdini FX, Houdini Indie and Houdini Education production builds:
- 16.5.536
- 16.5.571
- 17.0.352
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.
Enhancements
- Round corners shader: This shader modifies the shading normals near edges to give the appearance of a round corner. The simpler way to use this shader is to connect its output normal to
standard_surface.normal
orstandard_surface.coat_normal
(core#7517) - Normal map blending: A new
normal_map
blending mode was added to thelayer_rgba
shader. This makes easier to create fine details and is more efficient than connecting multiple bump or normal mapping nodes. (core#7523) - Faster adaptive subdivision: Faster adaptive subdivision due to more efficient computation of irregular patches: x2 speedup in some cases. (core#7344, core#7444, core#7488)
- Faster operator evaluation: Operator evaluation is now up to 20x faster on large scenes thanks to expression caching and graph pre-processing. (core#7001, core#7508)
- JSON log file additions: The JSON stats file has more info, such as the hardware used. (core#7196)
- LPE image metadata: Output image metadata now includes the full light path expression for each layer. (core#7499)
- Alembic archives: The Alembic procedural will reuse alembic file handles, keeping up to 8 file handles open for better cache handling in parallel node initialisation. (core#7071)
Incompatible changes
- Range shader gain: The gain parameter on the
range
shader is now inverted for consistency with theAiGain()
API function (core#7477) - JSON stats change: The JSON stats format has changed in order to resolve some ambiguities with nested fields. (core#7074, core#7530)
- JSON stats version: The JSON stats file now has a "JSON log version" field that will be incremented each time a breaking change is made to the JSON stats format. (core#7530)
Fixes
Alembic packed primitive translation optimisations motion (htoa#1023)
Optimisations for rendering multiple
alembic
primitives (htoa#1106, core#7493)MaterialX generated shaders are scoped under their node graph names. (core#7443)
Unexpected missing parameter warning on custom procedural instances. (core#7548)
Copy id to child alembic nodes. (core#7442)
Shaders should check that samples are always strictly positive. (core#7573)
Alembic geometry has incorrect transform with make_instance enabled. (core#7567)
Alembic transform/deformation motion blur mismatch. (core#7539)
The first parameter of OSL nodes is not initialized to the default value. (core#7524)
Remove the OptiX dependency on mac. (core#7520)
User parameters not properly propagated or read from parent procedural. (core#7516)
Alembic Crash with arbGeoParam array property. (core#7507)
Autobump (and bump) disappear for some pixels. (core#7505)
Alembic procedural expansion with make_instance on using an object_transform parameter. (core#7501)
Noice: when looking for feature AOVs prioritize AOVs with the correct filter. (core#7497)
Kick -laovs should not grab a license. (core#7495)
Add sheen AOV labels. (core#7492, htoa#1105)
Texture baking: small triangles can cause artifacts. (core#7480)
Gain function in range shader is inverted. (core#7477)
Alembic object transform fix. (core#7475)
Curves memory report missing some entries. (core#7474)
Shadow group is not inherited in ginstance. (core#7472)
D'Eon BCSDF must be evaluated when `base_color` is small. (core#7470)
Render callback does not support an "empty" callback. (core#7467)
MaterialX: Supported parameter arrays are not processed by operator and node definition generation. (core#7466)
Adaptive camera samples higher than expected. (core#7461)
Thread safety of alembic procedural tokenize function. (core#7456)
Cell noise time not evaluated when linked. (core#7445)
Volume AOVs: shadow rays interfere with new Z and ID AOVs. (core#7432)
Volumes: register new AOV volume_Z. (core#7431)
Transform motion in procedural that only contains lights can give invalid lights. (core#7422)
Make flatness check for quad_light more robust. (core#7419)
Noice: skip denoising AOVs with no associated variance. (core#7418)
Noice: support additional channel suffixes and warn if the suffix is unsupported. (core#7417)
Noice: incorrect handling of variance AOVs in a separate file. (core#7416)
Noice: issues with certain crop windows combinations. (core#7415)
Alembic files with single entry array attributes should be considered not arrays. (core#7413)
Metadata lexer should ignore more than three # in a row. (core#7388)
Nested timing stats are ambiguous in json output. (core#7074)
Recover from failed optix launches. (core#6727)
Export full path instead of node name when writing to .ass while expanding procedurals. (core#6221)
Alembic transform incorrect with motion blur. (core#7579)
Alembic with make_instance and parallel node init enabled causes disappearing geometry. (core#7478)
Alembic crash with make_instance enabled and changing frames. (core#7446)
See also the Arnold 5.2.1.0 release notes for the full list of core enhancements and fixes.