Commit Graph

8092 Commits

Author SHA1 Message Date
Sergey Sharybin
24fc0287f3 Merging r49622 through r49623 from trunk into soc-2011-tomato 2012-08-06 15:22:19 +00:00
Sergey Sharybin
a334b5a4b6 Made feather self-intersection check an option.
Useful in cases when masking stuff like self-intersecting
ropes. This could probably be smarter option, but can't
currently think about robust approach here.
2012-08-06 15:20:14 +00:00
Campbell Barton
e2203d548e svn merge ^/trunk/blender -r49601:49620 2012-08-06 14:02:03 +00:00
Campbell Barton
385c38f6ed misc small edits syncing with trunk 2012-08-06 13:59:11 +00:00
Sergey Sharybin
b282b5275c Mask feather self-intersection check
Enable self-intersection check for preview. In own tests average
time for this operation on mango files was ~0.0015sec, and it was
like 20 splines max which still gives pretty smooth performance
on my core quad machine.

Would think let's check how it works for now, if it'll give some
issues here, would just avoid tessellation on every redraw by
storing tessellation in some cache (probably in mask user).

Another change is related on a way which loop to collapse.
Changed length check with AABB size check. A bit slower but
should be a bit more predictable.
2012-08-06 13:53:38 +00:00
Campbell Barton
2b8ac9bc61 inpaint node from tomato branch by Peter Schlaile
http://en.wikipedia.org/wiki/Inpainting
2012-08-06 13:45:11 +00:00
Campbell Barton
7beb47bd69 fix for freeing NULL pointer. 2012-08-06 13:04:40 +00:00
Campbell Barton
4e2fb45576 style cleanup 2012-08-06 10:03:17 +00:00
Campbell Barton
77610e1550 svn merge ^/trunk/blender -r49573:49601 2012-08-06 09:33:43 +00:00
Campbell Barton
df81b50bf2 prevent copy/paste from incompatible types (compo -> material for eg) - would crash instantly. 2012-08-06 08:41:45 +00:00
Campbell Barton
5bb97305a4 fix for node clipboard leak on exit, also use blenders convention for function naming with BKE clipboard funcs. 2012-08-06 08:25:24 +00:00
Campbell Barton
e592f757e8 fix for crash when moving frames about in the node space, was possible to move a node into its own child frame (causing recursive parent loop).
also some minor code cleanup.
2012-08-05 20:40:26 +00:00
Campbell Barton
0a35e050f3 code cleanup: remove redundant calls to CTX_data_main() 2012-08-05 14:11:51 +00:00
Campbell Barton
9ddbd8329e fix uninitialized memory use for mask feather points, also remove some double promotions. 2012-08-05 13:26:39 +00:00
Sergey Sharybin
cae3dbd141 Merging r49534 through r49573 from trunk into soc-2011-tomato 2012-08-05 12:54:39 +00:00
Campbell Barton
2044b62370 resolve some issues with curve resolution calculaction
- resolution could become so high that it would wrap around  to a negative number, now check for small numbers before doing float division.
- resolution was being calculated in some cases when it already met the clamp value - now this is skipped.
2012-08-04 20:17:22 +00:00
Campbell Barton
3d20474414 style cleanup 2012-08-04 19:34:38 +00:00
Campbell Barton
9ff4fa6671 style cleanup 2012-08-04 12:30:16 +00:00
Campbell Barton
96bda09d23 code cleanup: use camelcase for struct name. 2012-08-03 23:44:50 +00:00
Campbell Barton
6972e19fd5 code cleanup:
- replace (strcmp(vfont->name, FO_BUILTIN_NAME) == 0)  with  (BKE_vfont_is_builtin(vfont)).
- reduce some double promotions.
2012-08-03 22:12:57 +00:00
Campbell Barton
a76b704f9a change blender minversion because of BMesh data. 2012-08-03 15:23:17 +00:00
Campbell Barton
82158b7c34 svn merge ^/trunk/blender -r49531:49533 2012-08-03 15:05:20 +00:00
Campbell Barton
173b998735 fix/edits to vector font handling
- don't overwrite the font path with "<builtin>" when the font file cant be found, it caused bad problems when loading files on someone elses systems when paths couldn't be found blender would silently clobber paths (tsk tsk).

- when fonts are freed their temp data is now freed too.

- assigning a new filepath to a font now refreshes the object data.
2012-08-03 15:03:40 +00:00
Sergey Sharybin
f736f183a5 Merging r49499 through r49518 from trunk into soc-2011-tomato 2012-08-03 09:08:40 +00:00
Thomas Dinges
fa04832247 Code cleanup:
* Removed some remaining defines for AVI_CODEC (from the old 2.4x days and windows only), because only some defines were left, no underlying code to bring back, so just as good remove for good.
2012-08-02 21:50:49 +00:00
Campbell Barton
ba5c635502 fix for crash when node groups loose their ID pointer references (when linked libs don't load) 2012-08-02 16:33:38 +00:00
Campbell Barton
ce3293b2d9 code cleanup: remove redundant float casts 2012-08-02 11:33:21 +00:00
Campbell Barton
a3cd8c5c61 svn merge ^/trunk/blender -r49478:49498 2012-08-02 11:29:32 +00:00
Lukas Toenne
9d2173518c Clipboard feature for nodes. With the Copy operator a copy of all selected nodes and links between them is stored in an offscreen list (not in the library). The Paste operator then in turn copies these into the active node tree in the editor.
Currently does not support copying of animation data. This would require copying of individual fcurves etc. between data block, which is not implemented yet.

Also it is currently possible to circumvent some constraints of the nodes, in particular for node groups (e.g. no groups inside groups, render layer not inside groups).
2012-08-02 09:52:37 +00:00
Sergey Sharybin
de4e940885 Remove mask cache hack added for mango project a while ago
We've got new rasterizer which doesn't require cacheing anymore.
2012-08-01 14:19:42 +00:00
Sergey Sharybin
3f5e3ae0bf Merging r49413 through r49450 from trunk into soc-2011-tomato 2012-08-01 14:14:22 +00:00
Campbell Barton
a199ae5368 style cleanup: whitespace, also add '?' to save over popup since it wasnt totally clear it was a question (user pointed this out, they thought it was just notification and lost their work). 2012-07-31 23:06:12 +00:00
Campbell Barton
872ebc7310 fill in dummy values when using movie clip distort node but compiled without libmv. 2012-07-31 22:01:44 +00:00
Campbell Barton
33a9cafc3b quiet spacenav output on linux for regular builds, ifdef signed int for msvc openmp. 2012-07-31 21:26:14 +00:00
Daniel Genrich
32bd936f18 Mask / Win64 compile fix: "Index variable in OpenMP 'for' statement must have signed integral type" 2012-07-31 19:37:33 +00:00
Campbell Barton
72a3fb15d7 changes to mask editing
- use Alt to modify all mask feather at once while dragging.
- copying a multi-user mask from the interface works now.
- show masks when UV editing isnt used, rather then checking editmode (would give some odd/annoying image space header).
- add a fake mask user by default.
- moving points with LMB drag no longer selects them.
2012-07-31 17:31:34 +00:00
Campbell Barton
4473b846fb multi-threaded sequencer buffer calculation for masks. 2012-07-31 16:37:47 +00:00
Campbell Barton
4c02549d5d remove references to raskter from compositor and BKE mask. 2012-07-31 16:04:47 +00:00
Campbell Barton
2e51811950 use the same rasterizer as the compositor for the sequencer. 2012-07-31 15:45:01 +00:00
Campbell Barton
c42d0189e5 resolve glitch in the image space where mask editing and UVs would conflict.
now UV editing overrides mask.
2012-07-31 14:16:27 +00:00
Campbell Barton
a86f44a77a svn merge ^/trunk/blender -r49410:49412 2012-07-31 13:44:51 +00:00
Campbell Barton
8f6197bd08 support for curve orco uv's as UV's in cycles.
ideally these would be used as generated coordinates, but this is tricly because cycles calculates its own orco's and doesnt know about curve settings.
2012-07-31 13:43:26 +00:00
Sergey Sharybin
ccf2f85b3e Merging r49390 through r49399 from trunk into soc-2011-tomato 2012-07-30 16:40:23 +00:00
Sergey Sharybin
2feac552eb Color management: initialize input color space for newly opening images 2012-07-30 16:07:37 +00:00
Daniel Genrich
46ac23d04e Fix: "void" function returning value. 2012-07-30 12:33:28 +00:00
Campbell Barton
a14fc54702 svn merge ^/trunk/blender -r49333:49361 2012-07-29 18:48:34 +00:00
Campbell Barton
7217927414 add inline functions for max/min ints, good to use when the arguments are function calls (we had a few of these). 2012-07-29 18:14:20 +00:00
Campbell Barton
f608b3c444 code cleanup:
- building without python works again
- rename maxi/mini to i_max/i_min (so thay are available for function names)
- some minor edits to IK stretch setting (no functional changes).
2012-07-29 17:49:14 +00:00
Campbell Barton
c41e1e434a code cleanup: replace MIN2/MAX2 with minf/maxf 2012-07-29 16:59:51 +00:00
Peter Schlaile
b6288e94eb == 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 )
2012-07-29 15:48:38 +00:00