While using the ArnoldDenoise node makes this setup much easier, it may be preferable for some pipelines to set up denoiser information in their own opscripts, etc. KtoA's denoiser setup relies on the following attributes at the
arnoldGlobalStatements.outputChannels.<channel>.denoise: this integer attribute denotes which, if any, denoising methods should be active for this output. 0 (zero, indicating none) indices no denoising, 1 (interactive) turns on the fast interactive denoiser (which is suitable for previews, but probably not final frame or animation), 2 (disk) turns on the high-quality denoiser and should be used with EXR outputs only, and 3 (both) activates both denoisers, the interactive for preview/live renders and the high-quality denoiser for disk renders.
arnoldGlobalStatements.denoise.featureAOVs: the array of strings containing Arnold AOVs used as feature buffers for high-quality denoising. These AOVs just need to exist, and do not need to be explicitly created outputs or output channels in Katana. The defaults are "denoise_albedo" and "N".
- arnoldGlobalStatements.denoise.patchRadius: the patch size (in pixels) to be denoised together by the high-quality denoiser. The default is 3.
arnoldGlobalStatements.denoise.searchRadius: the patch size (in pixels) to be denoised together by the high-quality denoiser. The default is 9.
arnoldGlobalStatements.denoise.varianceThreshold: the radius size (in pixels) to be examined for noise properties for the smaller patch to be denoised in the high-quality denoiser. The default is 0.5.
arnoldGlobalStatements.denoise.setupOnly: Typically used for multi-frame denoising (creating better temporal stability in the denoised results), when this is on (set to one) all of the AOV and output setup will be performed so that the otuput EXRs are ready to be denoised, but the denoiser will not be run. Instead,
noiceshould be invoked later when all of the frames are ready. This defaults to off, so the denoiser will run automatically right after the disk render completes.
Special Considerations for Interactive Outputs
If you wish to compare both the denoised and non-denoised outputs for preview rendering, it is recommended to duplicate the
renderSettings.outputs.<output> group, and the
arnoldGlobalStatements.outputChannels.<channel> that correspond, add "_denoise" to both the output and channel names, turn on the
denoise integer attribute of the channel (to 1), and set
renderSettings.outputs.<output>_denoise.channel to the string
<channel>_denoise so they are linked up together. In the Katana monitor this allows quickly switching back and forth between the raw and denoised versions of an AOV. The
ArnoldDenoise node and operator do this automatically.