Commit Graph

8043 Commits

Author SHA1 Message Date
7cc5af4ef3 minor refactor for rect functions. more consistent naming. 2012-07-15 00:29:56 +00:00
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
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
1cee8ea8ed unfilled-cyclic curves now works as expected, also fix for own crash on 32bit systems. 2012-07-14 23:23:24 +00:00
41fe8b9ea9 use a different setting for fill/cyclic - you may want to have unfilled cyclic curves. 2012-07-14 20:53:52 +00:00
5e7f8b83ed mask rasterizer, render unclosed splines as lines. 2012-07-14 20:29:17 +00:00
6986f671ee code cleanup 2012-07-14 19:21:13 +00:00
52c0f44659 zealous bounds checking broke the invert option. 2012-07-14 18:57:16 +00:00
a52153a618 mask rasterization: use a simpler method to check if a bucket intersects with a triangle. 2012-07-14 18:42:59 +00:00
83d1fac2e4 mask rasterizer - test if buckets overlap the face before adding the face into the bucket. 2012-07-14 17:58:42 +00:00
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
f67ee4ff00 add dynamic bucket xy resolution based on pixel size, also remove some redundant copying. 2012-07-14 16:54:10 +00:00
1cbc6a6b4b minor refactor, some comments and var names were misleading. 2012-07-14 16:03:03 +00:00
e144e7a82c minor refactor for mask rasterizer 2012-07-14 15:46:32 +00:00
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
aeaa95a525 more minor speedups for new mask rasterizer 2012-07-14 04:07:59 +00:00
f5a35c3634 new mask rasterizer - replace kdopbvh with with own bucket lookups. 2012-07-14 01:43:33 +00:00
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
bccd5380f5 speedup - because we know triangles will always have the same z value. 2012-07-13 12:03:53 +00:00
a3cf6da7ae temp disable quad interpolation 2012-07-13 11:48:30 +00:00
3fe14a962a masking - add feather faces as quads and interpolate as quads to avoid ugly diagonal lines. 2012-07-13 09:22:58 +00:00
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
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
f7f216262d Fix #32041: Empty display size is not taken into account for centering view 2012-07-12 10:27:22 +00:00
c8d29b1996 feather points now align with mask outline when called with same resolution. 2012-07-12 09:03:45 +00:00
993dfd7d2a add bli rect funcs BLI_rctf_init_minmax, BLI_rcti_init_minmax 2012-07-12 08:31:23 +00:00
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
83d2314edf ability to calculate mask curve and feather with predefined resolution (*_ex functions) 2012-07-11 20:18:46 +00:00
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
Lukas Toenne
2070cd5d49 Fix #32058, Crash when using ParticleInstance with an hidden particle system.
The instance modifier needs to access the derived mesh data of the particle parent object to create stuff on the hairs, however the dm does not exist when the particle modifier is hidden. This is a general design problem: Objects accessing another object's derived mesh data is unsafe. For now it just checks valid dm pointer and uses identity transform if NULL.
2012-07-11 16:08:04 +00:00
70ccdc6daa Style cleanup 2012-07-11 11:31:14 +00:00
f279576f1a Bump Blender version, so despill balance would stay untouched in
rare cases when it was intentionally set to 0.
2012-07-10 15:35:25 +00:00
76ee9783a1 Improved cache management for movie clips from tomato branch
Replace pseudo-LRU approach of determining which buffer
to remove when running out of space allowed for cache
with approach which would remove the frame which is most
far away from newly added frame.

This is still a bit tricky because it's impossible to
distinguish which frame to delete in situation of:

        CCCC...CC
           ^

it's either user wants to extend left segment of cached
frames and buffers from right segment should be removed
or he wants to join this two segments and in that case
buffers from right segment should be removed.

Would need a bit more investigation which situation
is more common in general usecase.

Additional changes:

- Cleanup some memutil files (which are familiar to cache limiter)

- Add option to make moviecache verbose. If DEBUG_MESSAGES is
  defined in moviecache.c detailed logs would be printed to the
  console.

- Movie caches are now named which helps reading debug messages.
2012-07-10 14:43:50 +00:00
5cc0e5f751 Mango request: added an input node to use track's position in compositor
--
svn merge -r48088:48089 -r48091:48092 ^/branches/soc-2011-tomato
2012-07-10 11:01:25 +00:00
492d9aabe0 some code refactors in raskter.c to sync it with build where mask tiling is being developed. Also adds a bit more mask tiling code. 2012-07-10 04:51:08 +00:00
689403bf57 updating raskter to support tiles compositor. this commit puts in some groundwork code to support tiles's pixel processor 2012-07-09 22:57:23 +00:00
24f672d57b fix for blender naming all new node groups "Missing Datablock" 2012-07-09 22:39:35 +00:00
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
98969c64ff code cleanup: move sequencer timecode into its own func. 2012-07-09 10:55:41 +00:00
0966a3b191 Fixed issues updating texture buffer used for clip editor frame display
when specific circumstances are met.

Mainly issue was caused by checking ImBuf pointers, which used to fail
when some post-processing flags are changed. This was caused by the
fact that freeing old ImBuf and allocating new one could lead to new
ImBuf have the same pointer as previous one, which confuses cache.
2012-07-09 10:26:01 +00:00
2580575658 correct another case of nonnull (all should be correct now), and comment about color conversion. 2012-07-08 17:51:28 +00:00
0c7b56cf39 correct use of nonull attribute 2012-07-08 17:08:27 +00:00
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
cfb7aee017 style cleanup 2012-07-07 22:51:57 +00:00
84bf3e48c0 style cleanup: use c style comments in C code 2012-07-06 23:56:59 +00:00
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
Chris Want
16b165eed5 Fix for bug 32017.
There was some bad recursion introduced recently that caused crashes
when a Material node is the same material as the material itself (e.g.,
if Material.001 has a node with Material.001).

This commit attempt to correct this by keeping track of the material
at the root of the node tree, and doesn't recurse further if it
encounters it again within the nodetree.

Joshua, please review!
2012-07-06 16:55:35 +00:00
b0598a203c Cosmetic updates to mesh validate messages. 2012-07-05 13:02:42 +00:00
b5135a8bdf fix for making local loosing references to node groups.
node->id was left as an indirect link which wont get saved with the file.
2012-07-05 12:50:50 +00:00
21bf13989f code cleanup: remove Python.h include from blenkernel. 2012-07-04 20:13:39 +00:00