Blender Git Commits

Blender Git "master" branch commits.

Page: 3752 / 5574

January 23, 2012, 17:44 (GMT)
Carve booleans: corrected copyright header
January 23, 2012, 17:44 (GMT)
Carve booleans: code and style cleanup
January 23, 2012, 17:43 (GMT)
Fix #29934: New Carve library can't execute boolean operations in some cases

Issue was caused by left boolean operand consist of several intersecting manifolds
which make Carve triangulator confused and which can't be resolved in general case.
Added mesh pre-processing before actual applying boolean operator on it. This
preprocessing applies union operation on intersecting manifolds of the same object
so intersection edge loop with second object wouldn't confuse tesselator and correct
result would be returned.
Detecting of intersecting manifolds is based on AABB intersection check which leads
to some extra union operation called, but it's possible to speed things up from
Carve side so union operation of two not intersecting meshes would work faster.
Additional condition for running union for manifold is this manifolds intersects
AABB of second operand, so mesh topology wouldn't be changed at all in areas
where there's definitely no intersection between operands. It might be improved
so only manifolds which actually intersects second operand would be joined
together, but it'll slow things down a bit and prefer to do it only if it'll
be really a problem.

Additional change is fixed memory leak when boolean operation fails to run -
it was missed "delete" call if exception happens in Carve library.

From side effects of this change might be named boolean operation between
suzanne and another object: suzanne is consist of three intersecting open
manifolds, so this new meshes preprocessing leads to missed eyes in result
because of failure of merging two open manifolds. Don't think making suzanne
work for all setups should really be a goal, it's a bit crappy mesh for CSG
algorithms.
January 23, 2012, 17:17 (GMT)
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â?¦
January 23, 2012, 16:46 (GMT)
svn merge ^/trunk/blender -r43616:43639
January 23, 2012, 16:32 (GMT)
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.
January 23, 2012, 14:03 (GMT)
use same default as trunk for cylinder depth
January 23, 2012, 13:51 (GMT)
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.
January 23, 2012, 13:50 (GMT)
speedup for mesh -> bmesh conversion
- was looping over all verts/edges/faces to setup the selection store, even when there was no selection store (mselect), since this is fairly common case, add a check.

also use BLI_array_growitems rather then BLI_array_growone to allocate in larger steps.
January 23, 2012, 13:44 (GMT)
fix for leak in bmesh_jekv() when large ngons were being used.
also make BLI_array use more efficient.
January 23, 2012, 13:41 (GMT)
replace BLI_array_staticdeclare with BLI_array_fixedstack_declare()

This has the advantage that it only does 1 alloc at the beginning if the stack variable is too small.
(rather then constantly check to grow one, which is a really huge macro too).
January 23, 2012, 13:36 (GMT)
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.
Revision 74b4fd2 by Andrew Hale
January 23, 2012, 13:29 (GMT)
In order to maintain consistency with other uses of .remove(), these functions will be removed and reimplemented after the BMesh merge.

The main issue in an implementation of these functions is the need to constantly edit the vertex array and subsequently update the face and edge arrays.
January 23, 2012, 13:25 (GMT)
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.
January 23, 2012, 13:15 (GMT)
avoid using resizing array for transform (size is known to begin with, use single alloc)
January 23, 2012, 08:48 (GMT)
Fix for compilation error when using scons and carve is disabled
January 23, 2012, 03:13 (GMT)
modifier Apply as Shape is now Apply as Shape Key. Was confusing some users

January 23, 2012, 01:35 (GMT)
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.
January 22, 2012, 23:15 (GMT)
Fix for "[#29911] Crash on reading BL_ActionActuator.channelNames"

The crash occurred when an action actuator was attached to a non-armature object because objects that aren't armatures do not have pose data. A NotImplementedError is now raised if someone tries to access any of the following with an action actuator attached to a non-armature object:

BL_ActionActuator.channelNames
BL_ActionActuator.getChannel()
BL_ActionActuator.setChannel()
January 22, 2012, 23:13 (GMT)
Cycles UI:
* Add World ID Block to World Shader Nodes.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021