Commit Graph

35952 Commits

Author SHA1 Message Date
Campbell Barton
d3090a32f2 svn merge ^/trunk/blender -r43664:43676 2012-01-24 20:19:09 +00:00
Campbell Barton
439e9a39a8 use a struct to pass normals to normal draw derived mesh callbacks (no functional changes) 2012-01-24 19:57:34 +00:00
Antony Riakiotakis
7a628a3967 Enable 16 bit format for float textures by default after discussion with Morten and Sergey on irc. Rationale is that for most cases when people create a float texture they will expect the extra precision in the 3D view.
This shouldn't be a problem on any graphics card since internally a very old texture format (GL 1.1) is used. In the case of any unlikely screams, a revert of this commit can be done.
2012-01-24 19:54:18 +00:00
Campbell Barton
3d01f13c43 fix for 3 issues when applying a deform modifier in editmode.
- drawing face normals was broken (using wrong index).
- drawing flat faces in solid mode would display ugly tesselation normals (as if the model was made of triangles).
- drawing smooth faces in solid mode would show vertex normals based on tesselation (heavily slant in 1 direction).

now the normals are calculated and stored per polygon (will save some memory too for non tri meshes).
2012-01-24 19:37:18 +00:00
Miika Hamalainen
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
Campbell Barton
b320e3ee5b remove redundant casts. 2012-01-24 18:24:19 +00:00
Campbell Barton
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
Sergey Sharybin
44850d6946 Fix #29946: Recover Auto Save defaults to "Short List" View -- Cannot determine dates
Added option display_type to WM_operator_properties_filesel which defines which file
display type (short/list/icons/default) should be used for file browser.

All current operators are using FILE_DEFAULTDISPLAY display type which means display
type will still be calculated based on type of opening file and user preferences
settings. Recover Auto Save operator is now using long display type so file date can
easily be checked now.

Reviewed by Andrea, thanks!
2012-01-24 18:18:51 +00:00
Miika Hamalainen
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
Campbell Barton
d5c4f030df correct error in recent merge. 2012-01-24 16:54:21 +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
Campbell Barton
4af4863baf svn merge ^/trunk/blender -r43639:43664 2012-01-24 16:18:20 +00:00
Campbell Barton
1f9e25ac1a comment unused assignment. 2012-01-24 15:51:44 +00:00
Campbell Barton
58c51bb551 quiet some warnings & (possible/unlikely error) 2012-01-24 15:37:50 +00:00
Bastien Montagne
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
Sergey Sharybin
1c33126cf5 Fix #29975: Track Preview color channels not filtering correctly
Typo in checking bitflags
2012-01-24 12:25:03 +00:00
Joshua Leung
b8fe464b62 Bugfix: Circle-select in Pose Mode disregarded layer visibility, selecting
invisible bones too
2012-01-24 08:43:39 +00:00
Sergey Sharybin
9998d1235b Fix #29965: Crash: Memory psys node array: end corrupt
Original indices from right operand were used in boolean result derived mesh
which lead to crash if right operand has got more entities (faces/edges/vertices)
than left operand.
2012-01-24 08:43:17 +00:00
Andrew Hale
e634cb2607 Add the .Identity() classmethod to mathutils matrices. This allows the user
to create an identity matrix of a specific size without having to specify
all the values in the matrix and then use the .identity() method.
2012-01-24 01:56:44 +00:00
Campbell Barton
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
Campbell Barton
644e44e7b6 remove unneeded re-tessellation converting metaball to mesh. 2012-01-24 00:52:26 +00:00
Campbell Barton
e236fb157a fix leak in mirror modifier. 2012-01-24 00:26:12 +00:00
Campbell Barton
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
Campbell Barton
7138e6aa9c comment unused code. 2012-01-23 23:39:51 +00:00
Bastien Montagne
ebe01d06bc Misc picky edits to UI messages. 2012-01-23 22:57:46 +00:00
Campbell Barton
12531c5c76 fix for crash applying solidift after subsurf 2012-01-23 21:04:56 +00:00
Campbell Barton
d65a5a92f9 assertion when bvhtree_from_mesh_faces is called and tessfaces dont exist. 2012-01-23 20:46:38 +00:00
Dalai Felinto
5585b3e908 rst bge touch ups: making the title of the examples slightly more noticeable
-  it's still not correct, comparing to the other examples, but at least it looks okish.
-  fixed some small typos
2012-01-23 19:53:23 +00:00
Campbell Barton
99dc4ec691 BLI_array_reserve from bmesh. 2012-01-23 19:42:22 +00:00
Sergey Sharybin
be0be0b1a9 Fix #29970: Crash trying to track disabled marker 2012-01-23 19:32:00 +00:00
Sergey Sharybin
69b7a3a72a Fix compilation error caused by code cleanup 2012-01-23 17:49:56 +00:00
Sergey Sharybin
e079bf8184 Carve booleans: corrected copyright header 2012-01-23 17:44:19 +00:00
Sergey Sharybin
7d22a41a3d Carve booleans: code and style cleanup 2012-01-23 17:44:05 +00:00
Sergey Sharybin
690c77dd7d 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.
2012-01-23 17:43:41 +00:00
Bastien Montagne
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
Campbell Barton
5cc898ada2 svn merge ^/trunk/blender -r43616:43639 2012-01-23 16:46:35 +00:00
Bastien Montagne
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
Campbell Barton
76f03a2ee4 use same default as trunk for cylinder depth 2012-01-23 14:03:09 +00:00
Campbell Barton
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
Campbell Barton
001a15a721 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.
2012-01-23 13:50:00 +00:00
Campbell Barton
f8d21588b6 fix for leak in bmesh_jekv() when large ngons were being used.
also make BLI_array use more efficient.
2012-01-23 13:44:57 +00:00
Campbell Barton
40a1ecafb0 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).
2012-01-23 13:41:28 +00:00
Campbell Barton
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
Andrew Hale
74b4fd26d2 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.
2012-01-23 13:29:29 +00:00
Campbell Barton
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
Campbell Barton
25a3d11260 avoid using resizing array for transform (size is known to begin with, use single alloc) 2012-01-23 13:15:40 +00:00
Sergey Sharybin
d2f8be9aa2 Fix for compilation error when using scons and carve is disabled 2012-01-23 08:48:52 +00:00
Daniel Salazar
be69b8b4fd modifier Apply as Shape is now Apply as Shape Key. Was confusing some users 2012-01-23 03:13:55 +00:00
Daniel Genrich
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
Mitchell Stokes
62963525ce 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()
2012-01-22 23:15:35 +00:00