Technical notes
How the filter works under the hood.
- Filter: smooth (weighted) Kuwahara with a circular Gaussian kernel and four overlapping sectors.
- Instead of picking one sector, all four are blended by their variance. This removes the blocky artifacts and the temporal flicker of the classic filter.
- Averaging is done in Reinhard-compressed space, so very bright HDR pixels don't create sparkles.
- Samples are clamped to the viewport, so the screen borders stay clean.
- Render pass: before tonemapping, in HDR, after temporal anti-aliasing / upscaling.
- Implementation: one Custom HLSL node in
MF_Kuwahara. Everything else is standard material nodes.