Page MenuHome

Realtime Compositor: Implement variable size blur
ClosedPublic

Authored by Omar Emara (OmarSquircleArt) on Dec 13 2022, 1:58 PM.

Details

Summary

This patch implements the variable size mode of the blur node. This is
not identical to the CPU implementation, but is visually very close.

That's because of two things. First, the Extend Bounds option introduces
a 2px offset that doesn't make sense, which is likely a bug in the CPU
implementation. Second, the CPU implementation approximate the result
using three passes, the first two of which are separable morphological
operators applied on the size input. But this approximation does not
provide an advantage because the last pass is non-separable anyways. So
the GPU implementation does not attempt this approximation for more
accurate and faster results.

Diff Detail

Repository
rB Blender
Branch
variable-size-symmetric-blur (branched from master)
Build Status
Buildable 25016
Build 25016: arc lint + arc unit