Bilateral Filter

Bilateral is a noise reducing filter that blends neighboring pixels while preserving sharp edges.

The filter works by replacing each pixel with a weighted average of its neighbors. The weighted average is calculated based on several factors, including pixel color similarity, spatial proximity, normal differences and object ID values. This ensures that only similar pixels contribute to the resulting color, which makes it possible to produce high-quality smoothing without blurring object contours.

The bilateral filter is the least resource-intensive denoiser filter in terms of time and computational resources.

No denoiser

Radius: 1, color sigma: 0.75

Radius: 2, color sigma: 0.75

Download the above scene (.blend)

Radius

The Radius parameter controls the area within which similar neighboring pixels will be found.

The parameter defines the area radius in pixels, and supports values from 1 to 50. Greater values give a wider pixel comparison area, which yields a more blurry and smoother effect but requires more resources and time to calculate the resulting pixel color.

Color Sigma

The Color Sigma parameter defines a threshold for detecting the color difference between a pixel and its neighbors.

The parameter supports values from 0 to 1. Smaller values blend pixels with very similar colors which preserves edges better but retains more noise artifacts. Greater values allow greater color differences, which forces denoising but results in smoother edges and color bleeding.

Normal Sigma

The Normal Sigma parameter defines a threshold for detecting differences between surface normals.

The parameter supports values from 0 to 1. Smaller values better detect mesh irregularities and retain geometry details at challenging regions, such as corners or edges. Greater values allow more difference but may destroy finer geometry details.

Position Sigma

The Position Sigma parameter defines a threshold for detecting spatial differences between pixels, and can be used to fine-tune the Radius value.

The parameter supports values from 0 to 1. With smaller values, only pixels within a close proximity are considered. Greater values widen the area where similar pixels can be found, but slow down denoising.

ID Sigma

The ID Sigma parameter defines a threshold for detecting Object ID differences. It helps to distinguish mesh surfaces based on internal ID values set for objects in AMD Radeon ProRender.

The parameter supports values from 0 to 1.