Compositor: Use RBF Interpolation in Keying Screen node #112480

Omar Emara merged 5 commits from OmarEmaraDev/blender:rbf-keying-screen into main 2023-10-04 07:07:14 +02:00

5 Commits

Author SHA1 Message Date
Omar Emara 240534e557 Change smoothness default to zero 2023-10-02 10:58:23 +03:00
Omar Emara b508aa4d4d Merge branch 'main' into rbf-keying-screen 2023-10-02 10:54:50 +03:00
Omar Emara fdfa6a8dd9 Cleanup and add versioning 2023-09-29 17:35:02 +03:00
Omar Emara f5c09b3ca9 Merge branch 'main' into rbf-keying-screen 2023-09-29 14:09:13 +03:00
Omar Emara f35ed754f8 Compositor: Use RBF Interpolation in Keying Screen node
buildbot/vexp-code-patch-coordinator Build done. Details
This patch changes the interpolation algorithm utilized by the Keying
Screen node to a Gaussian Radial Basis Function Interpolation. This is
proposed because the current Voronoi triangulation based interpolation
has the following properties:

- Not temporally stable since the triangulation can abruptly change as
  tracking markers change position.
- Not smooth in the mathematical sense, which is also readily visible in
  the artists sense.
- Computationally expensive due to the triangulation and naive
  cauterization algorithm.

On the other hand, the RBF interpolation method is temporally stable and
continuous, smooth and infinitely differentiable, and relatively simple
to compute assuming low number of markers, which is typically the case
for keying screen objects.

This breaks backward compatibility, but the keying screen is only used
as a secondary input for keying in typical compositor setups, so one
should expect minimal difference in outputs.
2023-09-17 17:57:49 +03:00