• Implicit surface plugins: Through the volume plugin API, volume plugins can now provide implicit surface fields. The implicit node has been extended to use these plugins with a new dso parameter, as well as a field_channel parameter to specify which channel from the volume plugin contains the field information. Usually these plugins will provide a signed distance field or level set, so be sure to set the solver to "levelset" in that case on the implicit node. (#5365)
  • Light portals: Skydome lights can now use portals to reduce noise for interior scenes, where light comes into through relatively small openings. Light portals are quad_light nodes with parameter portal on, and instead of emitting light these will be used to guide skydome light sampling. Light portals must be placed to cover all windows, doors and other openings through which skydome light comes into the scene. (#4720)
  • diffuse_albedo AOV: Core shaders will set the built-in diffuse albedo AOV. Custom shaders can be modified to set it if needed. (#5485)
  • shadow_matte AOV: Makes available the value from the API AiLightsGetShadowMatte call in a built-in AOV. (#5486)


API additions

  • Volume plugin gradients: Volume plugins can now set an optional callback to calculate the gradient of scalar (float) channels. This is particularly used by the new implicit node for implicit surfaces to find the surface normal. It is also sufficient to simply return AI_V3_ZERO if the gradient is unknown, and the gradient will be calculated by Arnold instead, although possibly with less efficiency. (#5365)
  • String length limits: There are no longer any limits on parameter name, metadata name, message and filename lengths. (#3320)

Incompatible changes

  • Standard shader: Opacity is now clamped to 0 below 1e-6 instead of 1e-4 (#5374)

Bug fixes

#4900 Long file paths silently fail or cause crashes

#5350 Rendering camera should be included in random number seeds

#5374 Very low opacity clamped to 0

#5484 Always output actual shading normal in 'N' AOV

#5507 spot light bounds doesn't factor in lens radius

#5519 sg.Rd and ray.dir are sometimes not properly normalized


  • No labels