Couple of changes to keying node:
authorSergey Sharybin <sergey.vfx@gmail.com>
Mon, 11 Jun 2012 19:31:51 +0000 (19:31 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Mon, 11 Jun 2012 19:31:51 +0000 (19:31 +0000)
commit178feecfcd78fca71cecb11e7e1267a8d2f96750
tree3033041b4025045c89daab77c9f1a882efb4f6da
parent84309514f11a41d750104e04e8710d51a7094198
Couple of changes to keying node:

- Switch from gaussian-bokeh blur to mean-value which is much faster
  and from matte's quality behaves not worse than gaussian-bokeh.
- Added Edge matte output so areas where black/white clipping happens
  could be easily controlled.

  Currently not sure if it's possible than operation returns two
  buffers, so now implemented as separate clipping operation call
  with specific options.

- Changed logic of detecting edges - check if most pixels within
  kernel are different fits some tolerance interval.

- Added two extra options which controls how edges are detecting:

  * Edge Kernel Radius defines radius of kernel within pixel's value
    is checking.
  * Edge Kernel Tolerance defines maximal difference between value
    of current pixel and it's neigbours which are trated as belng to
    the same plane )background of foreground)

Unfortunately, value for this two sliders for existing files shall
be tweaked manually. Default values are 3 for radius and 0.1 for
tolerance.
source/blender/compositor/nodes/COM_KeyingNode.cpp
source/blender/compositor/nodes/COM_KeyingNode.h
source/blender/compositor/operations/COM_KeyingClipOperation.cpp
source/blender/compositor/operations/COM_KeyingClipOperation.h
source/blender/editors/space_node/drawnode.c
source/blender/makesdna/DNA_node_types.h
source/blender/makesrna/intern/rna_nodetree.c
source/blender/nodes/composite/nodes/node_composite_keying.c