Faster cutout opacity mapping: options.enable_fast_opacity can be enabled to get faster textured mapped opacity mask renders, such as for tree leaves. Tests with production scenes have shown up to 25x speedups.
This flag also toggles a fix for more accurate renders, where previously the object would be rendered more transparent when further away from the camera. When using this option, noise/flicker can occur on far away geometry, similar to when rendering far away high res geometry. If this happens, it is best to use a high amount of AA samples (and correspondingly lower amount of diffuse/glossy/light samples) to reduce flickering in animation. The fast opacity flag is enabled for anything that is connected to any RGB parameter called «opacity», so custom shaders that have an RGB opacity parameter will benefit from this. We expect that users will want to enable this mode all the time for new scenes and if no one complains, in a future release we will likely remove this flag and leave the optimizations and fixes in the «fast_opacity» mode always enabled.
Multiple scattering for volumes: Indirect light in volumes now supports an arbitrary number of bounces instead of being fixed to one bounce. It is now possible to render volumes such as clouds for which multiple scattering has a large influence on their appearance. The new options.GI_volume_depth parameter sets the number of bounces, defaulting to 0. The default value of options.volume_indirect_samples has been changed to 2.
Support for deep volume output: Volumes are now visible in deep renders, but note that older «atmosphere» shaders and volumetric mattes are not supported yet. Previously, volumetric samples were composited with the next surface sample. Now, in case you want to implement your own deep driver, volumetric samples are available as independent samples to raw drivers or filters. In order to query the end of a volumetric sample you can request the new built-in float Zback AOV channel.
Per light volume contribution: A volume contribution scaling parameter was added to lights, similar to the existing diffuse and specular parameters.
New EXR compression modes: Four additional compression modes, b44, b44a, dwaa and dwab have been added to driver_exr.compression. b44 is lossy for half data and stores 32-bit data uncompressed. b44a is an extension to b44 where areas of flat color are further compressed. dwaa and dwab correspond to JPEG like compression from DreamWorks Animation. Note that dwaa and dwab require the reading program to be compatible with OpenEXR 2.2 which is not yet widespread, Nuke 9.x will not read them.
Faster UDIMs: UDIMs accessed through the image shader node now internally use texture handles, which helps improve multi-threading performance.
OIIO improvements: Upgraded to OIIO to 1.5.15. 16-bit textures are now stored as 16-bit in the texture cache instead of as 32-bit floats. This halves the amount of memory 16-bit textures use.
Spaces allowed in EXR metadata names: driver_exr.custom_attributes now supports spaces in names, as in the example below.