Commit Graph

35454 Commits

Author SHA1 Message Date
Campbell Barton
9362a01ff3 fix for crash & leak when layer render option is disabled. 2012-07-16 13:00:54 +00:00
Campbell Barton
f6b3a6e6f3 fix for occasional crash with splines a lot larger then the view 2012-07-16 12:49:01 +00:00
Campbell Barton
e32d963478 mask rasterizer - use quad interpolation - gets rid of ugly diagonal banding, introduces glitch with bowtie quads, will have to fix next. 2012-07-16 12:08: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
407347fd1f mask fill/cyclic toggle wasnt refreshing compo nodes 2012-07-16 09:41:38 +00:00
Campbell Barton
a2e2489f61 correct own naming error BLI -> BKE 2012-07-16 08:53:11 +00:00
Campbell Barton
4cacff2342 fix for linking with scons. 2012-07-16 08:42:55 +00:00
Campbell Barton
60cfbaeb1e mask blending modes: lighten/darken/multiply/replace 2012-07-16 07:23:16 +00:00
Campbell Barton
8e7aa50021 fix crash for empty or single vertex layers. 2012-07-16 07:04:10 +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
Mitchell Stokes
4f6cc9a9aa BGE: The Action Actuator now returns correct values to work with the Actuator Sensor. 2012-07-16 03:43:57 +00:00
Campbell Barton
8c77b35f4f svn merge -r48944:48942 .
revert moving the file, adding a new module didnt resolve linking issue.
2012-07-15 16:57:21 +00:00
Campbell Barton
701a16c9dd moving mask rasterizer file, this breaks building, will fix next commit 2012-07-15 16:16:34 +00:00
Campbell Barton
1723d51edb replace fminf with minf 2012-07-15 15:11:52 +00:00
Bastien Montagne
b67b73e2d8 "Fix" [#32033] In the execution result of with_automatic_weight, the difference is seen right and left.
This auto/heat vgroup creation seems to be fuzzy/unstable (each run gives a slightly different result). I have not the competences (nor time) to investigate that laplacian stuff, so for now just adding an option when parenting to an armature with envelope/heat, to mirror weights along the X axis (as it is done by default when doing it from the Weight Paint mode).
2012-07-15 12:53:16 +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
474b922472 fix: node background image move operator didn't take zoom into account when clamping pan bounds. 2012-07-15 11:33:13 +00:00
Sergey Sharybin
10253f73bc Fixed deadlock caused by thread locks added in 48893
This deadlock was caused by lock of threads using LOCK_DRAW_IMAGE
mutex and lock used in render result acquire functions.

So if image draw would lock LOCK_DRAW_IMAGE before compositor
operation released render result it'll lead into a deadlock.
2012-07-15 10:48:19 +00:00
Campbell Barton
02bac0bebf falloff option for mask layers 2012-07-15 03:11:07 +00:00
Campbell Barton
7cc5af4ef3 minor refactor for rect functions. more consistent naming. 2012-07-15 00:29:56 +00:00
Campbell Barton
f8bf58e0f2 fix for some bugs when the mask layer was outside the view, also clamp the layer buckets within the view. 2012-07-15 00:07:41 +00:00
Campbell Barton
593163e6e5 fix for minor error in previous commit (wasnt connecting right faces for cyclic mask), also avoid doing more area calculations then needed when checking if the mouse is moving away from uiBlock. 2012-07-14 23:26:54 +00:00
Campbell Barton
1cee8ea8ed unfilled-cyclic curves now works as expected, also fix for own crash on 32bit systems. 2012-07-14 23:23:24 +00:00
Campbell Barton
41fe8b9ea9 use a different setting for fill/cyclic - you may want to have unfilled cyclic curves. 2012-07-14 20:53:52 +00:00
Campbell Barton
5e7f8b83ed mask rasterizer, render unclosed splines as lines. 2012-07-14 20:29:17 +00:00
Campbell Barton
6986f671ee code cleanup 2012-07-14 19:21:13 +00:00
Campbell Barton
52c0f44659 zealous bounds checking broke the invert option. 2012-07-14 18:57:16 +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
83d1fac2e4 mask rasterizer - test if buckets overlap the face before adding the face into the bucket. 2012-07-14 17:58:42 +00:00
Sergey Sharybin
8a9d1c0a79 Fix #31021: Render settings are not taken into account for curves
Refactored code a bit to make naming a bit more clear and added a
function to create mesh from given display list rather than from
object's displist.

Tested using plain curves (which doesn't imply using derived meshes)
and curves with constructive modifiers (which are using derived meshed).
2012-07-14 17:30:49 +00:00
Campbell Barton
f67ee4ff00 add dynamic bucket xy resolution based on pixel size, also remove some redundant copying. 2012-07-14 16:54:10 +00:00
Campbell Barton
1cbc6a6b4b minor refactor, some comments and var names were misleading. 2012-07-14 16:03:03 +00:00
Campbell Barton
e144e7a82c minor refactor for mask rasterizer 2012-07-14 15:46:32 +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
fc3cd6eb80 replace masking rasterizer with a more simple geometry based rasterizer (for the compositor).
notes:
- uncomment  #define USE_RASKTER in BKE_mask.h to use the previous mask rasterizer.
- slightly slower for regular masks but significantly faster for feather.
- main benefit is that it threads well so works nice for tile compositor.
- feather is lower quality, can use some improvements here.
- feather can also use some interpolation enhancements, will do later.
2012-07-14 15:29:05 +00:00
Bastien Montagne
01c3db149c Fix [#32086] Missing bevel "hold shift" for better accuracy.
This commit adds "shift" and numtype to both Bevel and Inset mesh operators.

It also gets rid of the magicnumber used in NumInput to str operation (currently, 20 chars per element, now defined as NUM_STR_REP_LEN in ED_numinput.h).
2012-07-14 14:03:36 +00:00
Campbell Barton
98520ce4de use gcc attributes for BLI alloc functions 2012-07-14 12:47:49 +00:00
Mitchell Stokes
ac8c56c6fc BGE: Better fix for the textures not working with custom shaders regression. Now custom shaders work, and textures aren't uploaded twice for GLSL materials (my earlier fix had some bad logic). 2012-07-14 04:43:32 +00:00
Campbell Barton
aeaa95a525 more minor speedups for new mask rasterizer 2012-07-14 04:07:59 +00:00
Campbell Barton
f5a35c3634 new mask rasterizer - replace kdopbvh with with own bucket lookups. 2012-07-14 01:43:33 +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
Bastien Montagne
ee7ae2cdbb Fix [#32013] Crash loading a 2.49b model
Problems were in the old multires loading system.

Actually, the sigsev itself was the easy part of the job (simply had to convert from tesselated data to polys/loops), but after that I was getting a horrible bunch of wild stray faces...

It finally turned out it was a mismatch in two different subsurf structs used while computing a mdisps layer from the multires DM, leading to getting complete random normals (null ones, NAN ones...), leading to complete dummy tangent space matrix, leading to absurds mdisps values...

Note: I also moved the copy of first layer's vertex and face data from old me->mr to mesh's v/fdata earlier in multire_load_old(), to be able to use general face_to_poly conversion function (later on we would have to do it by hand, the general function would erase our newly computed mdisps layer...).

Took me the whole week (something like 20h) to track this down: multires + subsurf = C nightmare!
2012-07-13 20:50:32 +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
a5e6d73d41 fix for crash with new rasterizer 2012-07-13 12:55:30 +00:00
Jeroen Bakker
6eacb5791d Inner loop optimization of blur node 2012-07-13 12:50:10 +00:00
Jeroen Bakker
9987a8fca7 Removed parameter from executePixel and initializeTileData. 2012-07-13 12:24:42 +00:00
Campbell Barton
bccd5380f5 speedup - because we know triangles will always have the same z value. 2012-07-13 12:03:53 +00:00
Campbell Barton
a3cf6da7ae temp disable quad interpolation 2012-07-13 11:48:30 +00:00