5.2.1.0 - Arnold User Guide
Released 19 Oct 2018
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 or standard_surface.coat_normal . (#7517)
Normal map blending : A new normal_map blending mode was added to the layer_rgba shader. This makes it easier to create fine details and is more efficient than connecting multiple bump or normal mapping nodes. (#7523)
Faster adaptive subdivision : Faster adaptive subdivision due to more efficient computation of irregular patches: 2x speedup in some cases. (#7344, #7444, #7488)
Faster operator evaluation : Operator evaluation is now up to 20x faster on large scenes thanks to expression caching and graph pre-processing. (#7001, #7508)
JSON log file additions : The JSON stats file has more info, such as the hardware used. (#7196)
LPE image metadata : Output image metadata now includes the full light path expression for each layer. (#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. (#7071)
API additions
- 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. (#7530)
Incompatible changes
JSON stats change : The JSON stats format has changed in order to resolve some ambiguities with nested fields. (#7074, #7530)
Range shader gain : The gain parameter on therange shader is now inverted for consistency with the AiGain() API function. (#7477)
Bug fixes
#7443 MaterialX generated shaders are scoped under their node graph name
#7446 alembic crash with make_instance enabled and changing frames
#7478 Alembic with make_instance and parallel node init enabled causes disappearing geometry
#7579 Alembic transform incorrect with motion blur.
#6221 Export full path instead of node name when writing to .ass while expanding procedurals
#6727 Recover from failed optix launches
#7074 nested timing stats are ambiguous in json output
#7388 metadata lexer should ignore more than three # in a row
#7413 alembic files with single entry array attributes should be considered not arrays
#7415 Noice: issues with certain crop windows combinations
#7416 Noice: incorrect handling of variance AOVs in a separate file
#7417 Noice: support additional channel suffixes and warn if the suffix is unsupported
#7418 Noice: skip denoising AOVs with no associated variance
#7419 make flatness check for quad_light more robust
#7422 transform motion in procedural that only contains lights can give invalid lights
#7431 Volumes: register new AOV volume_Z
#7432 Volume AOVs: shadow rays interfere with new Z and ID AOVs
#7445 Cell noise time not evaluated when linked
#7456 Thread safety of alembic procedural tokenize function
#7461 adaptive camera samples higher than expected
#7466 MaterialX: Supported parameter arrays are not processed by operator and node definition generation
#7467 Render callback does not support an "empty" callback
#7470 d'Eon BCSDF must be evaluated when
base_color
is small#7472 Shadow group is not inherited in ginstance
#7474 curves memory report missing some entries
#7475 Alembic object transform fix
#7477 Gain function in range shader is inverted
#7480 Texture baking: small triangles can cause artifacts
#7492 Add sheen AOV labels
#7493 Slow expansion of multiple alembic procedurals
#7495 Kick -laovs should not grab a license
#7497 Noice: when looking for feature AOVs prioritize AOVs with the correct filter
#7501 Alembic procedural expansion with make_instance on using an object_transform parameter
#7505 Autobump (and bump) disappear for some pixels
#7507 Alembic Crash with arbGeoParam array property
#7516 user parameters not properly propagated or read from parent procedural
#7520 Remove the OptiX dependency on mac
#7524 The first parameter of OSL nodes is not initialized to the default value
#7539 Alembic transform/deformation motion blur mismatch
#7567 Alembic geometry has incorrect transform with make_instance enabled
#7573 Shaders should check that samples are always strictly positive
#7442 Copy id to child alembic nodes
#7548 Unexpected missing parameter warning on custom procedural instances