Iray Programmer's Manual

Integrated noise reduction

Iray Photoreal includes built-in filters for high-variance noise in early images and a set of filters for low-variance noise in final images.

The following attributes on the IOptions class, shown here with their default settings, control the integrated noise reduction:

bool progressive_rendering_filtering = false

This specialized post filter reduces initial high variance noise without sacrificing overall sharpness. It is particularly useful for removing isolated bright or very dark pixels that result from certain kinds of disadvantageous chains of scattering events. This filter is intended to be used only during the initial rendering phase, mainly to smoothen out the yet unfinished simulation results. Note that the overall rendering performance can be reduced noticably on low-end CPU cores.

mi::Sint32 iray_degrain_filtering = 0

Selects one of several additional post filters that can reduce low frequency noise without sacrificing overall sharpness. These are intended to be used in the final stage of the rendering phase, mainly to reduce remaining subtle grain in difficult areas of a scene. There are five different filters to select from.

Modes 1 to 3 are working very conservative and should thus be safe to use in general, modes 4 and 5 are considered to be more agressive and should be used with caution, especially if the scene features fine details in either geometry or applied materials. As these filters can be tweaked during the rendering process, it is recommended to experiment with different radius settings to achieve best results.

mi::Sint32 iray_degrain_filtering_radius = 3

This value should be reduced if the filter smoothens out edges, and increased if some noise still remains in the image.

mi::Float32 iray_degrain_filtering_blur_difference = 0.05

Modes 4 and 5 feature an additional setting that limits the influence of neighboring pixels if the brightness is too different.

Note: Unfortunately there is no general recommendation on which degrain filter mode will perform best on a specific scene, thus it is necessary to cycle through the different modes manually to receive the best results for a given scene. As a rule of thumb, modes 3 and 5 are usually the most reliable ones, with 5 being the more agressive of the two. Also note that the overall rendering performance can be reduced noticably on low-end CPU cores, thus the filter should only be enabled in the final phase of the rendering process.