Denoising
Denoising can be used as a final step to reduce undesired artifacts in the rendering.
Configuration
There are two independent denoising options available.
Denoise filtering
Simple denoise filtering using circular Gaussian kernel. To enable the default settings, use:
strahlConfiguration.js
runPathTracer(target, model, {
enableDenoise: true,
});
If you want more control, pass a configuration object instead:
strahlConfiguration.js
runPathTracer(target, model, {
enableDenoise: {
type: "gaussian",
sigma: 4.0,
kSigma: 1.0,
threshold: 0.1,
},
});
sigma
is the standard deviation of the Gaussian kernel.kSigma
is the kernel size multiplier.threshold
is the edge sharpening threshold for the denoising.
note
The example does few samples to emphasize the denoising effect.
OIDN
Open Image Denoise is a denoise library which uses machine learning techniques to reduce noise. To configure it, you must provide a URL to a weight file. One option is: oidn-weights on GitHub.com.
warning
OIDN may introduce undesired artifacts
strahlConfiguration.js
runPathTracer(target, model, {
enableDenoise: {
type: "oidn",
url: "./oidn-weights/rt_hdr_alb_nrm.tza",
},
});