Commit Graph

32752 Commits

Author SHA1 Message Date
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
bf19327465 fix for checking wrong flag with removing mask shape keys doubles on the dope sheet. 2012-06-26 08:25:17 +00:00
d4cfdc69ef quiet all -Wshadow warnings in the compositor. 2012-06-26 07:32:24 +00:00
69ab13a7db rename remaining class members with m_ prefix. 2012-06-26 07:09:49 +00:00
6a1d82490e use m_ prefix for compositor class members (all compositor operations). 2012-06-26 01:22:05 +00:00
7a0ab62d3f Bugfix [#31930] DopeSheet - Grease Pencil mode collapses visible channels when
switch channel

This was caused by a typo, which would end up toggling the expanded status of
the Grease Pencil datablock (gpd->flag & 4) instead of the layer active status
(gpl->flag & 4).
2012-06-26 00:35:05 +00:00
01dea9ff85 Fixed crash when trying to perform transformation in Clip Editor without clip opened
Reported by JumboCoDeC in IRC. Thanks for the report.
2012-06-25 19:48:05 +00:00
4da7b7089d make hue correct grid more faded out. 2012-06-25 19:42:10 +00:00
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
6badc77cb0 code cleanup 2012-06-25 17:27:54 +00:00
2e7f7d177a fix for [#31899] Compositor: scale to rendersize doesn't work on
separate channels
2012-06-25 17:26:18 +00:00
0ec6d28352 correct free command for an array in the compositor 2012-06-25 17:09:11 +00:00
c41b91f8c2 Ignore disabled markers when building keying screen. 2012-06-25 16:36:22 +00:00
1080c43d1c Camera solver: take track offset into account
This helps in cases when it's needed to track a feature which
goes out of screen for a while to prevent jump of camera.
2012-06-25 16:36:12 +00:00
d68fc2b916 Fix for [#31900] Loop Selection on wireframe selects vertex behind.
Revert part of r48105 (calling mouse_mesh() in mouse_mesh_loop() is not a good idea, as it might select another element ouside the selected loop, and is anyway overkill!), added lighter code that simply checks for the nearest vertex/face of current edge.
2012-06-25 13:32:04 +00:00
f80d0913c6 fix for #31914 2012-06-25 12:58:53 +00:00
32bf9567d3 Fix #31920: switching from cycles to blender internal with 3d view in rendered
draw mode did not draw the 3d view properly.
2012-06-25 12:13:21 +00:00
3271850a2f Fix cycles not working in 3d local view, and missing update when toggling hiding
in the outliner.
2012-06-25 11:43:22 +00:00
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
23f632a49c Fix compile after 48262 ( braces) 2012-06-25 11:13:27 +00:00
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
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
cc0784c1b9 optionally use guarded alloc for tiles compositor, also replace allocation functions with a macro. 2012-06-25 09:14:37 +00:00
78196d60d1 comment for TODO - rgb_to_bw / rgb_to_grayscale usage. 2012-06-25 08:58:50 +00:00
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
15cb064e1b style cleanup 2012-06-25 07:24:48 +00:00
ac9344de75 Fixes for modifier data in multi-user meshes.
When removing a skin or multires modifier, it skips deletion of the
associated CustomData layer if the object has any other modifiers of
that type. This check has been extended to all objects that use the
object's data.

Similarly, deleting higher multires levels and multires subdivision
will not update the maximum level of any other multires modifiers on
objects that link to the same mesh.

Note that modifier_apply_obdata() doesn't need any changes as it
does not allow applying to multi-user data.

Object joining has also been modified to synchronize multires levels
objects that share a mesh. This is needed because joining can
subdivide or delete levels in order to match the maximum level of the
join-from object to the join-to object.

Fixes bug [#31880] instance multiresolution modifier error.
http://projects.blender.org/tracker/index.php?func=detail&aid=31880&group_id=9&atid=498

Reviewed by Sergey:
http://codereview.appspot.com/6332047/
2012-06-24 20:18:32 +00:00
4f0551bca5 Tracking dopesheet missed tagigng for update in some cases. 2012-06-24 18:00:14 +00:00
93fd3f11f7 Skip edge matte operation creation if output socket is not connected. 2012-06-24 17:38:14 +00:00
df9ca0455c Fix [#31807] Ngon triangulation error
Notes:
*This implements a quite simple algorithm, which simply checks angles (actually, absolute cosines) of created tri and remaining face (which may be a tri, quad, or more NGon), so that both are "best" (ie avoid as much as possible too much narrow/wide corners), and also checks the new edge is OK (i.e. does not goes "out" of original face).
*Incidently, it fixes a typo in that bm_face_goodline() func!
*It's quite performant (a bit quicker than previous code, as far as I have tested it) and prevent creation of completely flat triangles as much as possible, but it's far from being a "best" solution (as it is still a "progressive" one)!
*It also introduces a new math func (in BLI_math_vector.h), cos_v3v3v3, which computes cosine (ie dot product of normalized vectors) and is roughly a quicker replacement for angle_v3v3v3, when real angles are not needed.
2012-06-24 16:19:19 +00:00
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
46b4f53a1b Style cleanup 2012-06-24 14:50:03 +00:00
7b3a5ead8c Fix crash sliding disabled marker from preview widget.
Reported by brothermechanic, thanks!
2012-06-24 14:16:40 +00:00
59731c5692 Release cycles:
*BCon 3 - beta.
2012-06-24 14:08:34 +00:00
f9b59ebcb9 Typo and spelling fixes pointed by Lockal. thanks! 2012-06-24 13:52:20 +00:00
7ed68ac4ef Fix #31909: "Make Segment" on path-curves gives wrong result
In fact fixed in easiest way -- always re-calculate knots array
on topology changes.

After some discussion with Ton we agreed on that having manually
editable knots is not intuitive and user should only define
cyclic/endpoints flags and knots would be re-calculated based
on this flags.

This means that it's unnecessary to have special logic for knots
manipulating in some topology changing tools and they could just
re-calculate knots for the whole nurb, without worrying that knots
could have been manually edited.
2012-06-24 11:27:28 +00:00
Lukas Toenne
785a5c3aab Fix #31908, better drawing for node group interface links. Links from/to node group internal sockets (input/output columns on the side) were drawn in a kind of subtle "background" mode, making them hard to see behind nodes. This was still from pre-2.56.2 versions, where group interfaces were created automatically and these links were just indicators of which external socket a node refers to.
Now these links are drawn in the same way as all others. Also they now display highlighting correctly when inserting a node into a link, making it easier to avoid unwanted insertions.
2012-06-24 10:49:22 +00:00
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
49a9d8d4ae Remove unused header include. 2012-06-24 09:55:10 +00:00
74c9c24d27 style cleanyp 2012-06-23 23:22:19 +00:00
8ef4c4762b Added option for exporting material based textures. Cleaned up header files due to a bug in osx 2012-06-23 22:03:31 +00:00
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
263be14811 rename WITH_BUILTIN_GLEW, WITH_SYSTEM_GLEW & negate. 2012-06-23 13:42:14 +00:00
79fb3311a3 Fix for [#29412] "Priority 0 cause problems with pulse mode" reported by Guillaume Côté.
Right now this is being fixed by not allowing the exact same action (action, start/end frames, speed, etc) to be played if it's already playing. Hopefully this will not cause more issues than it solves.
2012-06-23 03:39:03 +00:00
adf3a5e332 Collada: (Export) Added export of surface textures, and control over exported uv layers 2012-06-22 16:16:58 +00:00
257283e030 added new function BKE_imbuf_to_image_format 2012-06-22 15:40:49 +00:00
5455cadb3d fixed function name: BLI_rebase_path, reworked description, added enum bli_rebase_state for defined return values 2012-06-22 15:38:49 +00:00
0b0ac3aa9e remove scene from new compositor classes. only needs RenderData 2012-06-22 15:06:52 +00:00
590f5fdbdf fix for [#31890] Lens Distortion inside Node group don't work 2012-06-22 14:43:25 +00:00
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