Commit Graph

1922 Commits

Author SHA1 Message Date
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
c41e1e434a code cleanup: replace MIN2/MAX2 with minf/maxf 2012-07-29 16:59:51 +00:00
Campbell Barton
e32c60284a style cleanup 2012-07-29 00:20:28 +00:00
Sergey Sharybin
f6b542aeb2 Merging r49261 through r49263 from trunk into soc-2011-tomato 2012-07-26 18:05:42 +00:00
Campbell Barton
4c2de5e0c7 fix some types and incorrect info 2012-07-26 17:41:09 +00:00
Sergey Sharybin
a14f844315 Merging r49212 through r49222 from trunk into soc-2011-tomato 2012-07-25 19:46:23 +00:00
Sergey Sharybin
8197ae0054 Fix regression introduced in svn rev49122
Would rather have mathematical functions consistent from using
the same vector for input and output values point of view then
introducing questionable optimizations.
2012-07-25 16:37:24 +00:00
Campbell Barton
ad4738e77f svn merge ^/trunk/blender -r49118:49143 2012-07-23 15:03:54 +00:00
Campbell Barton
513aec7687 code cleanup: remove unused math functions (where already noted as deprecated) 2012-07-22 17:49:56 +00:00
Campbell Barton
fefddc320d code cleanup: use cosf and sinf when both args and results are float values.
also remove local math functions in KX_Camera
2012-07-22 17:35:43 +00:00
Sergey Sharybin
130b6bad4e Merging r49105 through r49107 from trunk into soc-2011-tomato 2012-07-21 19:21:12 +00:00
Campbell Barton
2a98e83abd style cleanup 2012-07-21 16:21:42 +00:00
Campbell Barton
7baf3d2ece svn merge ^/trunk/blender -r49082:49104 2012-07-21 15:40:47 +00:00
Campbell Barton
62a73381a7 use fabsf when using floats. 2012-07-21 15:27:40 +00:00
Sergey Sharybin
7271f8e38f Color management: threading fixes and partial buffer update refactor
There used to be an issue in colormanage_cache_get which lead to
wrong reference number counter in cases when exposure / gamma
does not match values stored in cache. In this case cache handle
should be set to NULL, no callee function could always call
buffer release function (as it was intended to).

Made display buffer acquire / release functions thread safe.
This applies to "external" API only, internal helpers are
non-thread safe for performance issues, so if one uses them
he need to be careful.

Converted partial display buffer update into a single function
which still updates all display buffer ever created for given
image buffer. This means that it's not needed to create any
kind of context first and if there're display buffers created
in-between of partial updates they would also be updated with
next calls of partial updates.

This allowed to make render result nicely color managed during
rendering, meaning that render progress is visualisable with
color management for image editor set up.
2012-07-20 14:16:25 +00:00
Campbell Barton
250cdd5e52 code cleanup: remove commented includes - mostly from 2.4x 2012-07-18 23:07:07 +00:00
Campbell Barton
8f32070e9d fix incorrect assert for mask face checking, also correct own bad spelling 2012-07-18 11:01:23 +00:00
Bastien Montagne
382ded688a Spellcheck: minkovsky -> minkowski! (Only in comments/UI messages :/ ). 2012-07-17 18:14:59 +00:00
Campbell Barton
32cf7fcdb1 code cleanup: spelling 2012-07-16 23:23:33 +00:00
Sergey Sharybin
92205486e7 Masks: feather self-intersection collapse function
This implements simple function which collapses internal loops
caused by self-intersections into a singularity.

This loops can't be removed because rasterizer expects points
of feather be aligned with points from spline itself.
2012-07-16 17:54:28 +00:00
Campbell Barton
273bb8fa90 barycentric_weights_v2_quad wasn't working quite right, rewrite as an expanded version of interp_weights_poly_v2() that cuts down duplicate calculations. 2012-07-16 12:01:18 +00:00
Campbell Barton
9a385d12e3 add 2d version of interp_weights_poly_v3 2012-07-16 10:36:40 +00:00
Campbell Barton
6f01b0b11f small speedup for mask rasterizer, only do single sided check for triangle intersection. 2012-07-16 06:39:40 +00:00
Campbell Barton
380c5d66a8 math function to get the intersection point between 2 lines (not 2 segments which we already have). 2012-07-15 11:35:13 +00:00
Campbell Barton
7cc5af4ef3 minor refactor for rect functions. more consistent naming. 2012-07-15 00:29:56 +00:00
Campbell Barton
a52153a618 mask rasterization: use a simpler method to check if a bucket intersects with a triangle. 2012-07-14 18:42:59 +00:00
Campbell Barton
6946294ab9 rename vars for line dist funcs to make more sense 2012-07-14 18:37:48 +00:00
Campbell Barton
e4cfcdc3a6 header comment cleanup, explain whats the difference between confusingly named drarnode.c and node_draw.c. 2012-07-14 15:29:45 +00:00
Campbell Barton
98520ce4de use gcc attributes for BLI alloc functions 2012-07-14 12:47:49 +00:00
Campbell Barton
9e09005e49 add is_quad_convex_v2(), SET_UINT_IN_POINTER, GET_UINT_FROM_POINTER macros & some minor edits. 2012-07-14 00:33:58 +00:00
Sergey Sharybin
807ad1f0e0 Fix #32087: Crash while changing values in comp editor (bt and blender included)
Issue was caused by threading conflict between compositor output node which
is freeing buffers used by render result image and image draw code which
could use buffers at the same time as compositor frees this buffers.

Solved by adding adding  lock around viewer image invalidation and image
drawing.

Use renamed LOCK_PREVIEW mutex for this, which si not called LOCK_DRAW_IMAGE.
With new compositor locking for preview is not needed so it could be removed.

Added the same lock around viewer operation which also frees buffers used
by viewer image. It's actually quite difficult to check whether this is
indeed needed. This code seems to be using acquire/release technique, but
somehow acquiring ImBuf before invalidating it in compositor operation
doesn't resolve the issue, so probably it's not actually locking acquire
and things should be checked deeper.
2012-07-13 13:47:13 +00:00
Campbell Barton
73c2abe83d new function barycentric_weights_v2_quad(), like barycentric_weights_v2 but for quads.
takes vecs and a point and assigns 4 weights, needed for nice quad interpolation for mask feathering.
2012-07-13 09:19:05 +00:00
Campbell Barton
38f91db37c add bli rect min/max functions. 2012-07-12 09:24:17 +00:00
Campbell Barton
2560725807 - add a temp var for edge scanfill (fits in 4 bytes alignment - won't increase mem usage)
- make keyindex an unsigned int, since its used to store vertex indices
- use BLI_in_rcti_v for IN_2D_VERT_SCROLL and IN_2D_HORIZ_SCROLL
2012-07-12 08:34:59 +00:00
Campbell Barton
993dfd7d2a add bli rect funcs BLI_rctf_init_minmax, BLI_rcti_init_minmax 2012-07-12 08:31:23 +00:00
Campbell Barton
a5127dba57 vector versions of BLI_in_rctf / BLI_in_rcti, (BLI_in_rctf_v, BLI_in_rcti_v)
use where possible.
2012-07-11 18:17:48 +00:00
Campbell Barton
81829f5221 code cleanup: use const for passing vectors 2012-07-11 12:42:02 +00:00
Sergey Sharybin
4e213765ec Fixes for keying screen:
- Fixed issue with black areas appearing when too many sites
  are defined.

  Currently tweak epsilon value for this, but probably actual
  issue is somewhere else, can't see it yet.

- Fixed issue with bright pixels appearing in the sites, was
  caused by accumulating color for pixels, which isn't needed.

  Once color for pixel was set stop iterating via triangles.
  Could give some speedup too.

- Ignore markers which are outside of frame bounds, they were
  giving bad triangulation and they can't affect on gradient
  due to color fir such sites is not known.

- Sites used to be created at position without track offset
  taken into account.
2012-07-11 07:46:36 +00:00
Jeroen Bakker
e343f7f320 Inline the read Memory Buffer functions for speed optimizations. 2012-07-10 06:31:16 +00:00
Campbell Barton
df107939c9 rename BLI_getQuotedStr --> BLI_str_quoted_substrN to make it more clear its doing an allocation. 2012-07-09 22:16:50 +00:00
Campbell Barton
2580575658 correct another case of nonnull (all should be correct now), and comment about color conversion. 2012-07-08 17:51:28 +00:00
Campbell Barton
4bc818d240 code cleanup: quiet uninitialized memory use warning for X11 - harmless in this case but always gave warnings with memcheck (RGB color for alpha zero icon color wasnt initialized).
also some other minor changes.
2012-07-08 12:23:58 +00:00
Campbell Barton
b91bc4f037 use gcc attrubutes to warn on unused return values and arguments which shouldnt be NULL.
also remove IDP_AppendArray's return value which wasnt the new item in the array (which is odd/misleading), but wasnt used anywhere either.
2012-07-08 06:00:27 +00:00
Campbell Barton
cfb7aee017 style cleanup 2012-07-07 22:51:57 +00:00
Campbell Barton
84bf3e48c0 style cleanup: use c style comments in C code 2012-07-06 23:56:59 +00:00
Campbell Barton
3a0593cc3d code cleanup: dont use function calls like dot_v3v3, pow and sqrt within macros which results in calling the function multiple times needlessly.
also added some comments.
2012-07-06 22:48:28 +00:00
Nicholas Bishop
0085c7110b Code cleanup: move PBVH ray/AABB intersection test to BLI_math_geom 2012-07-05 03:55:55 +00:00
Campbell Barton
9f22750422 style cleanup 2012-07-04 20:47:12 +00:00
Bastien Montagne
468ef74ed7 More spell and typo fixes (mostly visualise->visualize, grey->gray, normalise->normalize). 2012-07-03 19:09:07 +00:00