5.2.1.0

Released  

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
  • No labels