Commit Graph

10681 Commits

Author SHA1 Message Date
e6e88ff7c1 Dynamic Paint:
* Converted some more functions to use mpolys/mloops instead of tessellated faces.
* Fixed some bmesh related issues.
2012-01-24 18:29:01 +00:00
b320e3ee5b remove redundant casts. 2012-01-24 18:24:19 +00:00
ab52d677bc simplify editmesh mapping lookups.
this really has no effect since they were not created or used, however if we want to use emDM_getEdge or emDM_getTessFace this will need to be called.
2012-01-24 18:20:33 +00:00
8f7762c356 Dynamic Paint:
* Fix: Substep update failed if brush was parented to a canvas vertex. Now substeps are ignored in such case.
* Fix: Wave "open borders" option didn't work for image sequence format.
* Fixed a possible crash after changing surface format to image sequence.
* Some code cleanup.
2012-01-24 17:28:50 +00:00
Dalai Felinto
335ffb0ff3 Brightness/Contrast Node for Cycles
Contrast helps to adjust IBL (HDR images used for background lighting).
Note: In the UI we are caling it Bright instead of Brightness. This copy what Blender composite is doing.
Note2: the algorithm we are using produces pure black when contrast is 100. I'm not a fan of that, but it's a division by zero. I would like to look at other algorithms (what gimp does for example). But that would be only after 2.62.
2012-01-24 16:32:31 +00:00
4af4863baf svn merge ^/trunk/blender -r43639:43664 2012-01-24 16:18:20 +00:00
925234f1e0 New fix for [#29940] Stretch To constraint breaks scaling in Transform constraint, previous one caused bug [#29962] linked objects not correct on r4361, should be fixed now.
Org code was working with isotropic scaling, but when scaling only one axis, it was broken. First fix just disabled completly scale handling. This version only takes into account scaling along local Y axis, as this is the only one affecting that constraint!

Sorry for the mistake, hope this time it will be ok.
2012-01-24 13:17:32 +00:00
1c33126cf5 Fix #29975: Track Preview color channels not filtering correctly
Typo in checking bitflags
2012-01-24 12:25:03 +00:00
d7e30369f8 commented smoke collision derived mesh,
was storing its own copy of the collision mesh but never using it.
2012-01-24 01:21:43 +00:00
644e44e7b6 remove unneeded re-tessellation converting metaball to mesh. 2012-01-24 00:52:26 +00:00
8c6120e5ff fix for crash with mesh undo with shape keys
'undomesh' was also used in confusing way (relied on mesh being first member).
2012-01-23 23:53:21 +00:00
d65a5a92f9 assertion when bvhtree_from_mesh_faces is called and tessfaces dont exist. 2012-01-23 20:46:38 +00:00
92aa15805d BMesh: Fix for previous own fix (re-enable DynamicPaint previews in Object mode).
In fact, we have to add a CD_WEIGHT_MCOL layer (if not yet present) when updating CD_WEIGHT_MLOOPCOL, else with modifiers modifying the topology (like subsurf), it will sigsev.

That step should probably be done at tesselation time, though…
2012-01-23 17:17:08 +00:00
5cc898ada2 svn merge ^/trunk/blender -r43616:43639 2012-01-23 16:46:35 +00:00
6c9438ea8a BMesh: Fix (re-enable) DynamicPaint previews in Object mode.
Also simplifies DM_update_weight_mcol: no need to update CD_WEIGHT_MCOL here, as it is anyway recreated from CD_WEIGHT_MLOOPCOL at tesselation time. Only commented out code for now.
2012-01-23 16:32:11 +00:00
41c0f0c733 replace BLI_array_growone() with BLI_array_growitems() when the size of the increase is known ahead of time, will reduce reallocs and give some speedup. 2012-01-23 13:51:44 +00:00
2d3b3f9bf1 minor refactor to main tesselation function
- reserve the array sizes to avoid re-allocing (even though its a lower limit it still helps)
- increase array size in larger steps then 1 by 1.
- avoid a few array lookups.
- use more obvious variable naming to make the function more readable.
2012-01-23 13:36:11 +00:00
f4b9e83741 improve editmode triangulation by re-using the loop array when
possiblem, this has to guess when the size is too big so as to re-
well.

If this isnt done, then the number of faces is used to allocate the
initial array to at least avoid many small allocs.

added BLI_array_reserve() to reserve elements and avoid reallocing many
small arrays when the loop starts.
2012-01-23 13:25:06 +00:00
37e1285042 Cloth: Add "velocity damping" to damping options. This will help with the "cloth wobbling" problem which accurs quite often when having animated characters with cloth. 2012-01-23 01:35:14 +00:00
61a5cc28be disable re-tesselation for modifiers that use bmesh, array/bevel/edge split - were tesselating 2 times and didnt need to.
also comment array modifier from flushing selection flags.
2012-01-22 21:12:18 +00:00
a63efc00cc svn merge ^/trunk/blender -r43611:43616 2012-01-22 20:15:05 +00:00
6eb0ca9385 Merged with trunk (-r43609:43611): updated modifier preview.
Noted preview code for DynamicPaint is currently disabled, will see if I can re-enable it…
2012-01-22 20:05:26 +00:00
4966982a5a svn merge ^/trunk/blender -r43564:43609 2012-01-22 18:04:35 +00:00
1a93d88343 Add weight preview to WeightVG modifiers, and first, simple/basic refactor of how modifiers can generate preview.
User side:
* Preview for DynamicPaint should keep the same behavior (for now). Weight preview should be somawhat quicker, though.
* Preview for WeightVG modifiers is only active in WeightPaint mode, and if the affected vgroup is the active one.
* Last active preview modifier in stack wins!

Note: that modifier preview topic is yet to be further refined, quite raw/incomplete for now.

Dev side:
* In draw code, renamed DRAW_DYNAMIC_PAINT_PREVIEW flag to DRAW_MODIFIERS_PREVIEW
* Removed use of MOD_DPAINT_PREVIEW_READY in DynamicPaint code (seems unecessary, and if it was, should be of more general scope).
* Added eModifierTypeFlag_UsesPreview to ModifierTypeFlag, for modifiers that can generate some preview data.
* Added three new modifier funcs, to handle preview modifiers in draw code / mod stack.
* For weights preview: added the generic DM_update_weight_mcol func, which can update WEIGHT_MCOL layer with either a given array of weights (currently used by DynamicPaint only), or from current active vgroup(s).

So now, draw code is fully generic (i.e. no more modifier-type checking in it). Mod stack code is generic to some extent, but will need more work.
2012-01-22 17:54:23 +00:00
df51fd74cf Quiet warnings in text editor 2012-01-22 17:26:56 +00:00
cd4123e1db use inline BLI_math functions for dot product and length calculation. 2012-01-22 17:20:37 +00:00
4ec5a9a42c Bugfix [#29869] NLA editor keeps resetting my extrapolation mode every time I
edit a strip in the timeline

Tweaked the behaviour of the overwritting of extrapolation mode so that it is
less destructive when the problems it sets out to fix aren't likely to occur
(namely a top strip blocking everything below it due to extend backwards).
2012-01-22 04:39:33 +00:00
7d13619990 Bugfix [#28468] Cannot enter "Tweak mode" on mutiple objects at the same time,
though it initially works

Problem was that in the past it was possible to have multiple strips/tracks
tagged as "active", but now after getting a correct implementation, we can no
longer have that, and thus entering Tweak Mode only works on the last selected
strip.

However this is problematic in cases when you want to tweak the keyframes of
several objects (which may only have a single strip each) in order to get them
to line up with each other. This hack caters for this case (selecting multiple
strips from the same AnimData block is still impossible and insane/illogical and
is not allowed).

This may have implications for some future tools which make assumptions about
certain aspects of NLA state. However, it shouldn't cause too many problems
(hopefully ;)
2012-01-22 04:30:52 +00:00
68ae82bb47 Merged changes in the trunk up to revision 43585.
Conflicts resolved:
source/blender/editors/include/UI_resources.h
source/blender/editors/interface/resources.c
source/blender/makesrna/intern/rna_scene.c
2012-01-21 23:01:25 +00:00
56fae37b2a Fix [#29940] Stretch To constraint breaks scaling in Transform constraint.
Compute of dist between ob/bone and target was quite odd and causing that bug.
2012-01-21 09:41:21 +00:00
a98a75346c quiet warnings and possible NULL checking crash fix for indentation functions. 2012-01-20 23:03:41 +00:00
3f1584c758 fix 2 bugs
- box packing wasn't flagging out the right free corner of a vertex in some cases.
- tex_space_curve wasn't counting quad displists properly.
2012-01-20 22:09:30 +00:00
073ea28d58 Skip subsurf normal allocation/calculation when not needed.
CCGSubsurf has already a function to disable calculation of normals,
but seems it wasn't used. This patch changes subsurf UV and
subsurf_calculate_limit_positions() to not calculate normals, and also
not allocate space for them.

Should be no functional changes, just a small speedup/less memory use
during subdivision for these cases.

Code review link:
http://codereview.appspot.com/5558058/
2012-01-20 19:27:04 +00:00
0198df7956 svn merge ^/trunk/blender -r43554:43564 2012-01-20 15:34:40 +00:00
b3938cee63 minor warning/fixes 2012-01-20 15:22:20 +00:00
1726853226 comment some dead assibnment and set dummy values for image profile conversion in case of invalid input. 2012-01-20 15:18:57 +00:00
4de28741c8 - disable re-tesselating derived meshes in BMEdit_RecalcTesselation() have modifier stack do this.
- made editbmesh_calc_modifiers() ensure tessfaces, this has the advantage that if the tessfaces are already created they wont get re-made as was happening before.
2012-01-20 13:53:47 +00:00
Lukas Toenne
0b412e4136 Cleanup of default_value handling in node sockets.
The structs stored in the anonymous void *default_value in bNodeSocket are now handled completely inside node_socket.c. All allocation/freeing/duplicating for this has been replaced by the appropriate calls to generic API functions (declared in NOD_socket.h).

This will make the default value handling more reliable for future node socket code. Group socket copying and value conversion has also been moved into the generic socket API file.
2012-01-20 13:27:54 +00:00
1b505e6d1b replace CDDM_calc_normals_mapping with CDDM_calc_normals when used within modifiers.
this way modifiers wont be calculating tessface's which CDDM_calc_normals_mapping will do if not already calculated.
2012-01-20 13:25:54 +00:00
444613cdba after all modifier are applied calculate normals, then tessfaces, this works so tesselating copies normals into the the newly creates tesselated faces. 2012-01-20 13:14:14 +00:00
c8037fb56a svn merge ^/trunk/blender -r43530:43554 2012-01-20 12:34:00 +00:00
fe71f40f88 misc changes from bmesh, syncing across to trunk, no functional changes 2012-01-20 02:24:01 +00:00
181a4b74c1 Small cleanup to parameters of _getSubSurf().
Removed the unused third argument and changed useAging and useArena to
named flags.
2012-01-20 01:43:49 +00:00
a928a610e7 for CDDM's dmcalcNormals now call CDDM_calc_normals(), not CDDM_calc_normals_mapping(), this means calculating normals will calculate MPoly and MVert normals but not tesselate the mesh (which is overkill for normal calculation anyway).
use CDDM_calc_normals over CDDM_calc_normals_mapping for editmode and ensure the final dm has tessfaces.
2012-01-19 23:34:53 +00:00
20d0205d99 error in last fix, used negate to check it was working. 2012-01-19 22:04:13 +00:00
3fdf33f7d9 fix for error copying face normals from poly normals in mesh_recalcTesselation() 2012-01-19 21:58:20 +00:00
1f84876e89 ensure defoem DM has tessface data for the few places that need it.
also add a workaround for CDDM_recalc_tesselation_ex() which would add a CD_NORMAL to dm->fdata and then overwrite immediate
2012-01-19 19:23:25 +00:00
a31d1132e8 Minor code enhancement (replace for loops with while's, and avoid multiple checks to get good face vertex index). No functional changes. 2012-01-19 19:09:59 +00:00
bc745a32d3 argument to mesh_recalcTesselation to skip copying normals from polygons. 2012-01-19 17:51:52 +00:00
330da356da svn merge ^/trunk/blender -r43524:43530 2012-01-19 16:30:56 +00:00