Commit Graph

771 Commits

Author SHA1 Message Date
Sergey Sharybin de00723049 Fix for crash of keying screen node in cases when there's no
triangulation generated for tracks setup
2012-06-26 15:26:16 +00:00
Campbell Barton c55c194a07 svn merge ^/trunk/blender -r48305:48307 2012-06-26 10:17:11 +00:00
Campbell Barton 79ab7f95f9 mask and grease pencil now display in the dope sheet summery 2012-06-26 10:14:50 +00:00
Sergey Sharybin 58e5ce42db Merging r48303 through r48305 from trunk into soc-2011-tomato 2012-06-26 09:48:24 +00:00
Sergey Sharybin cd6ed0bee5 Optimization of keying screen node
When creating tile data include only triangles which have got intersection
with tile's rectangle only. This saves quite a lot of per-pixel iterations
through triangles which simply can not affect on current tile.

In fact, it's AABB check is used here. It could be improved further, but
it'll slowdown tile data generation with questionable speedup.

Another major slowdown is in fact caused by voronoi triangulation code.
Currently it's used naive algorithm which is O(N^2) where N is number
of edges. Added few euristics there and removed unused part of code, which
gave quite noticeable speedup already.

This could be improved further, but this node is not ment to be used for
lots of markers. It's also generates wrong triangulation when there're
many sites used. Need to be investigated further.
2012-06-26 09:46:24 +00:00
Campbell Barton 6a58afaaa4 svn merge ^/trunk/blender -r48288:48302 2012-06-26 07:44:59 +00:00
Campbell Barton d4cfdc69ef quiet all -Wshadow warnings in the compositor. 2012-06-26 07:32:24 +00:00
Campbell Barton 69ab13a7db rename remaining class members with m_ prefix. 2012-06-26 07:09:49 +00:00
Campbell Barton 6a1d82490e use m_ prefix for compositor class members (all compositor operations). 2012-06-26 01:22:05 +00:00
Campbell Barton 57a57c4e39 svn merge ^/trunk/blender -r48276:48283 2012-06-25 18:03:19 +00:00
Campbell Barton fa0c5a100d fix for crash with blur - happened most when there was a size input, need to mutex lock before allocating the gauss array.
also add suspiciously missing call to BlurBaseOperation::initExecution, X had but Y was missing.
2012-06-25 18:01:01 +00:00
Jeroen Bakker 6badc77cb0 code cleanup 2012-06-25 17:27:54 +00:00
Jeroen Bakker 2e7f7d177a fix for [#31899] Compositor: scale to rendersize doesn't work on
separate channels
2012-06-25 17:26:18 +00:00
Campbell Barton 0ec6d28352 correct free command for an array in the compositor 2012-06-25 17:09:11 +00:00
Sergey Sharybin 8f53bd019f Merging r48264 through r48276 from trunk into soc-2011-tomato 2012-06-25 16:37:58 +00:00
Sergey Sharybin c41b91f8c2 Ignore disabled markers when building keying screen. 2012-06-25 16:36:22 +00:00
Jeroen Bakker f80d0913c6 fix for #31914 2012-06-25 12:58:53 +00:00
Campbell Barton 158a70c8a3 the mutex struct seems to be different across systems, use memset rather then an initializer value.
also quiet warning in cycles.
2012-06-25 11:19:38 +00:00
jens verwiebe 23f632a49c Fix compile after 48262 ( braces) 2012-06-25 11:13:27 +00:00
Sergey Sharybin ae063aae50 Merging r48257 through r48263 from trunk into soc-2011-tomato 2012-06-25 10:56:48 +00:00
Sergey Sharybin 1755a0ada6 Added feather control to keying node
Behaves in the same way as feather dilate/erode node, applies
after dilate/erode in node.

Also use distance dilate/erode instead of size.
2012-06-25 10:50:24 +00:00
Campbell Barton 3c8a4c458b more guardedalloc use in C++, also make compositorMutex a static var, was allocated and never freed. 2012-06-25 10:35:24 +00:00
Campbell Barton cc0784c1b9 optionally use guarded alloc for tiles compositor, also replace allocation functions with a macro. 2012-06-25 09:14:37 +00:00
Sergey Sharybin 6023c356e5 Merging r48255 through r48256 from trunk into soc-2011-tomato 2012-06-25 08:24:12 +00:00
Sergey Sharybin 44c82198d4 Optimization of Keying Blur operation
Separate X and Y passes of blurring like it's done for flat
gaussian blur. This reduces computing difficulty from size^2
to 2*size without any visual changes in matte.
2012-06-25 08:21:55 +00:00
Sergey Sharybin 679dcfdf63 Merging r48241 through r48245 from trunk into soc-2011-tomato 2012-06-24 18:01:46 +00:00
Sergey Sharybin 93fd3f11f7 Skip edge matte operation creation if output socket is not connected. 2012-06-24 17:38:14 +00:00
Sergey Sharybin 1e76a587ff Merging r48238 through r48240 from trunk into soc-2011-tomato 2012-06-24 15:31:40 +00:00
Sergey Sharybin 09e31a41bf Optimization of keying screen node
Use AABB check before calculating barycentric coordinates.

In simple tests with FullHD image and 4-9 tracks used for gradient
gave 1.5-2x speedup.
2012-06-24 15:29:43 +00:00
Sergey Sharybin ca24daea64 Merging r48224 through r48237 from trunk into soc-2011-tomato 2012-06-24 14:27:23 +00:00
Sergey Sharybin d71d41755e Fixes for area of interest in keying nodes: no need to wait for the whole
input image to be calculated in some cases, use only actual area which is
needed to calculate current tile.

Seems to be giving some % of speedup. Verified result of keying before
this patch and after this patch and they were identical, so hopefully
now area of interest is indeed correct.
2012-06-24 10:31:48 +00:00
Sergey Sharybin 49a9d8d4ae Remove unused header include. 2012-06-24 09:55:10 +00:00
Campbell Barton 74c9c24d27 style cleanyp 2012-06-23 23:22:19 +00:00
Sergey Sharybin 06fb9c85d4 Merging r48196 through r48223 from trunk into soc-2011-tomato 2012-06-23 18:08:56 +00:00
Sergey Sharybin 870dba7657 Keying node: assume overexposured pixels as foreground
Screens are usually doesn't have overexposured pixels and all
saturation / gradient math was written assuming that all channels
are withing 0 .. 1 range and in cases when some channel exceeds
this range matte could be completely wrong.

Added special check for overesposure and assume such pixels as
definitely foreground.

Also fixed minimal value for edge kernel size.
2012-06-23 18:04:41 +00:00
Campbell Barton 0fd1797304 svn merge ^/trunk/blender -r48188:48195 2012-06-22 15:08:33 +00:00
Campbell Barton 0b0ac3aa9e remove scene from new compositor classes. only needs RenderData 2012-06-22 15:06:52 +00:00
Jeroen Bakker 590f5fdbdf fix for [#31890] Lens Distortion inside Node group don't work 2012-06-22 14:43:25 +00:00
Jeroen Bakker 65e9216cce Nullpointer exception happened when all input sockets of a (for example)
a translate node were connected with the same complex node (like lens
distortion).

Added a check to see if the list of buffers are available to resolve
this issue.
2012-06-22 13:24:43 +00:00
Jeroen Bakker f73e023e54 * fix for [#31553] Tile Compositor: Strange seams 2012-06-22 13:11:38 +00:00
Campbell Barton 23c38bc5e7 svn merge ^/trunk/blender -r48168:48188 2012-06-22 11:56:21 +00:00
Campbell Barton 226c86ae58 use an inline function for rgb -> bw conversion. 2012-06-22 07:49:44 +00:00
Jeroen Bakker 40f974d15f [#31895] Connect 'Hue Correct' to 'Viewer' crashes. 2012-06-21 18:32:23 +00:00
Jeroen Bakker 874c9fc33e * only calculate node preview that are visible (node_preview flag set &
node_hidden unset)
2012-06-21 18:22:43 +00:00
Jeroen Bakker 7a8d60ec7d * make it possible to composite without an compositor node [#31878]
Tiles Compositor: Fails without 'Compositor' output node. Regression.
2012-06-21 17:58:12 +00:00
Jeroen Bakker d406e274e0 * fix to support for multiple OpenCL platform for the Compositor 2012-06-21 16:05:56 +00:00
Campbell Barton 6d9cd68256 svn merge ^/trunk/blender -r48160:48162 2012-06-21 12:46:33 +00:00
Campbell Barton a803ce42df negate previous commit flag, this way existing files dont loose their feather. 2012-06-21 12:45:53 +00:00
Campbell Barton 27c10cdf32 svn merge ^/trunk/blender -r48158:48160 2012-06-21 12:38:09 +00:00
Campbell Barton 86f9f3e439 svn merge ^/trunk/blender -r48153:48158 2012-06-21 12:29:48 +00:00