Commit Graph

7916 Commits

Author SHA1 Message Date
Campbell Barton
9c714f695a fix for particle system using uninitialized stack memory with midpoint of rk4 integrators. 2012-07-17 13:28:30 +00:00
Campbell Barton
6f0950a1f4 use math vector init functions 2012-07-17 12:05:15 +00:00
Sergey Sharybin
e35d3083ec Fixed crash when rasterizing spline with only one point
It was an issue in new feather self-intersection test code.
2012-07-17 10:43:57 +00:00
Campbell Barton
f4cff34392 disable feather collapse during drawing, its very slow. 2012-07-17 09:56:10 +00:00
Campbell Barton
32cf7fcdb1 code cleanup: spelling 2012-07-16 23:23:33 +00:00
Sergey Sharybin
1f96470b5d Fixed disappearing in some circumstances feather
Real fix would be to find a point which is definitely now on loop
to be collapsed, but that's for a bit later. This commit should
remove possible stoppers.
2012-07-16 19:23:15 +00:00
Sergey Sharybin
5915b53350 Fixed crash caused by recent feather collapse commit 2012-07-16 18:34:57 +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
Nicholas Bishop
3a039d0e10 Put paint mask grid allocation in a critical section
When OpenMP is enabled, memory allocation needs to be protected.

Fixes bug [#32111] Memory management regression from svn_46520
projects.blender.org/tracker/index.php?func=detail&aid=32111&group_id=9&atid=498
2012-07-16 16:55:58 +00:00
Campbell Barton
7881d2c1a8 correct own error in logic for skipping mask layers, inverted mask layers with zero alpha still need to be evaluated. 2012-07-16 15:40:47 +00:00
Campbell Barton
f9e63430ac use calculated spline resoltion rather then fixed at 32. 2012-07-16 14:17:01 +00:00
Campbell Barton
5b4a455569 defailt to ease weight interpolation 2012-07-16 13:12:52 +00:00
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
a2e2489f61 correct own naming error BLI -> BKE 2012-07-16 08:53:11 +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
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
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
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
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
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
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
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
Campbell Barton
3fe14a962a masking - add feather faces as quads and interpolate as quads to avoid ugly diagonal lines. 2012-07-13 09:22:58 +00:00
Campbell Barton
8ce53a2a98 new mask rasterizer written to take advantage of the compositors threading, mostly functional but disabled by default (still a little wip). 2012-07-12 20:10:41 +00:00
Sergey Sharybin
ddf7d364e9 Fix for metaballs used as dupli-object for particle
It used to be a dependency cycle which lead to incorrect or
missed tesselation on some circumstances.

Seems to be introduced in rev41627.

This commit seems to behaving properly on simple cases,
probably could fail in some other cases, so need to be
checked further.

Discovered when was looking into:
    #32034: Metaball used as render object(group) for particle will display wire only.
2012-07-12 11:22:46 +00:00
Sergey Sharybin
f7f216262d Fix #32041: Empty display size is not taken into account for centering view 2012-07-12 10:27:22 +00:00
Campbell Barton
c8d29b1996 feather points now align with mask outline when called with same resolution. 2012-07-12 09:03:45 +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
Thomas Dinges
fabc2322aa Fix for [#32078] Rendering output to Frame Server is broken.
* BKE_frameserver_append() always returned 0, which caused the frameserver to crash after the first frame was requested. Patch by "alas2718"
2012-07-11 21:42:06 +00:00