== compositor ==
authorPeter Schlaile <peter@schlaile.de>
Sun, 29 Jul 2012 15:48:38 +0000 (15:48 +0000)
committerPeter Schlaile <peter@schlaile.de>
Sun, 29 Jul 2012 15:48:38 +0000 (15:48 +0000)
commitb6288e94ebb9da8cf6377ede4d0748e861c4d3a1
tree62c023461ea505f14b2d7faed2ad972bc4715c28
parente6d80e584832c8f9353bb9baaf79e44cbfc3ab1a
== compositor ==

This adds an inpaint node to blender.

In case, you don't know, inpainting does this:
http://en.wikipedia.org/wiki/Inpainting

It's use cases in blender are

* wire removal
* green screen background reconstruction

The node isn't tile based (for fundamental reasons), but very fast,
since it first builds a manhatten distance map and after that performs
color convolution only on the edges.

That's something, one should probably add also to the dilate node (in
step mode) to make it perform a lot better for dilate iterations greater
than 3.

It will bring it's computing time from O(n^3) down to O(n^2).
Take a look here for the details:
http://ostermiller.org/dilate_and_erode.html )
17 files changed:
source/blender/blenkernel/BKE_node.h
source/blender/blenkernel/SConscript
source/blender/blenkernel/intern/node.c
source/blender/compositor/CMakeLists.txt
source/blender/compositor/intern/COM_Converter.cpp
source/blender/compositor/nodes/COM_InpaintNode.cpp [new file with mode: 0644]
source/blender/compositor/nodes/COM_InpaintNode.h [new file with mode: 0644]
source/blender/compositor/operations/COM_InpaintOperation.cpp [new file with mode: 0644]
source/blender/compositor/operations/COM_InpaintOperation.h [new file with mode: 0644]
source/blender/editors/space_node/drawnode.c
source/blender/makesdna/DNA_node_types.h
source/blender/makesrna/RNA_access.h
source/blender/makesrna/intern/rna_nodetree.c
source/blender/makesrna/intern/rna_nodetree_types.h
source/blender/nodes/CMakeLists.txt
source/blender/nodes/NOD_composite.h
source/blender/nodes/composite/nodes/node_composite_inpaint.c [new file with mode: 0644]