Milestone 4.0.15

  • Optimized polymesh storage: There is an important reduction in polymesh memory use that is proportional to the total number of triangles generated. In addition, the memory use for the polymesh ray accel structures has been reduced by up to 2x. (#3408, #3420)
  • Faster ray accel build: The polymesh ray accel build time has been reduced by up to 2x without hurting ray tracing intersection performance. (#3420)
  • Faster curvy curves: Individual curve segments (as opposed to entire curves) that are sufficiently curvy should now render faster. (#3414)
  • Faster pixel filtering: Samples on the edge of buckets which do not contribute to the image are no longer rendered, speeding up rendering with filter sizes which are not an exact odd number. (#3354)
  • Faster solid angle-based sampling: The math for the solid angle-based sampling of quad area lights has been optimized resulting in slightly faster render times. This essentially removes any overhead of the new sampling technique which was introduced in the previous release. (#3406)
  • Improved volume sampling for quad and disk lights: The importance sampling distribution used for rendering volumetric quad and disk lights has been improved, reducing the variance in the visibly noisy region near the light itself. (#3393, #3436)
  • New physically-based sky shader: A new shader called physical_sky has been added to the core that implements a physically based sun and sky model. Basic controls for this shader are the color of the ground, the atmospheric haze, and the position of the sun in the sky. The sun's position can be configured either through the solar_direction vector, or a pair of azimuth and elevation coordinates with valid values in the 0-360º and 0-180º range, respectively. The amount of atmospheric haze can be controlled via the turbidity parameter, with valid values in the 1-10 range.physical_sky is hard-coded to be invisible to GI rays, so to use it as a light source you must attach it to a skydome_light with sufficient resolution to capture the small solar disk. Note: This shader is in active development and will likely suffer compatibility-breaking changes in future versions, so please consider it as a technology preview and not a final implementation, although feedback is of course more than welcome. (#3446)
  • Optimized compiler flags: We now use more aggressive compiler optimization flags which result in up to 20% faster renders on Linux and 3% faster on Windows. (#3178, #3424)
  • Error on long EXR channel names: When an AOV is output to an EXR file with a filename longer than 31 characters, the channels could get mixed up leading to a monochrome result. Arnold now errors at the start of a render if this could happen. Note that this limit will be increased to 255 chars once we upgrade to EXR2. (#3445)
  • Improved crash reporting when out of memory: When running out of memory and crashing, the stacktrace report now provides a clear error message with how much memory we are using and how much is physically available. This should make users realize exactly what's going on. (#3444)
API additions
Incompatible changes
Bug fixes


#3403Occasional crash with deform_time_samples covering partial shutter rangearnoldmikemajor4.04 weeks
#3405bounding box of plane primitive is wrong when normal has a -1 componentarnoldthiagomajor4.04 weeks
#3407incorrect ambient occlusion shading with exponential falloffarnoldthiagomajor4.03 weeks
#3409Bindings are not Python 3.x compatiblearnoldoscarmajor4.03 weeks
#3410quantization of images truncates instead of roundsarnoldthiagomajor4.03 weeks
#3412Cook-Torrance MIS functions reflect more light than they receive at near 0 roughnessarnoldalanmajor4.03 weeks
#3413camera exposure not working with semi-opaque regions above the backgroundarnoldalanmajor4.03 weeks
#3415secondary specular in hair shader missing from specular AOVarnoldmarcosmajor4.03 weeks
#3418rays tangent to a box should return the front facing normalarnoldthiagomajor4.03 weeks
#3423Scaling double-counted for oriented curvesarnoldmikemajor4.02 weeks
#3437motion blurred quad_light renders incorrectly with enable_fast_lightsarnoldthiagomajor4.09 days
#3442standard material edge darkeningarnoldalanmajor4.06 days
#3385non-deterministic ordering of overlapping primitives across multiple rendersarnoldthiagominor4.04 weeks
#3449shadow ray avg. and max hits stat brokenarnoldmarcosminor4.02 days
#3443remove unused shadow_bias optionarnoldmarcostrivial4.05 days
  • No labels