9 years agosvn merge ^/trunk/blender -r43685:43693
Campbell Barton [Wed, 25 Jan 2012 18:13:58 +0000 (18:13 +0000)]
svn merge ^/trunk/blender -r43685:43693

9 years agoCycles: Render Passes
Brecht Van Lommel [Wed, 25 Jan 2012 17:23:52 +0000 (17:23 +0000)]
Cycles: Render Passes

Currently supported passes:
* Combined, Z, Normal, Object Index, Material Index, Emission, Environment,
  Diffuse/Glossy/Transmission x Direct/Indirect/Color

Not supported yet:
* UV, Vector, Mist

Only enabled for CPU devices at the moment, will do GPU tweaks tommorrow,
also for environment importance sampling.


9 years agoFix #29892: Properties of objects in nested custom collections stop being animatable...
Sergey Sharybin [Wed, 25 Jan 2012 16:14:24 +0000 (16:14 +0000)]
Fix #29892: Properties of objects in nested custom collections stop being animatable once an object get added to an unrelated custom collection.

Issue was caused by attempting to find rna path in all property collections
which lead to overwritting already found path.

9 years agoVarious fixes for camera tracking stuff
Sergey Sharybin [Wed, 25 Jan 2012 13:37:11 +0000 (13:37 +0000)]
Various fixes for camera tracking stuff

- Fixed tooltip displaying for track sequence forwards in clip editor
- Corrected detection of 8 tracks so it wouldn't count tracks disabled
  on keyframes.
- Scale track preview to actual track widget size instead of scaling the
  whole preview image with given zoom ratio, so no extra memory needed to
  store zoomed margin would be used.
- Track's statistics text will fit pattern position instead of search if
  marker is disabled on current frame.
- Fixed toggle selection operator if selected track is hidden due to
  "Hide Disabled" policy.

9 years agoFix typo for sharpen graph post-processing so fac1+fac2+fac3 always equals 1.0
Sv. Lockal [Wed, 25 Jan 2012 10:10:15 +0000 (10:10 +0000)]
Fix typo for sharpen graph post-processing so fac1+fac2+fac3 always equals 1.0

9 years agoFix typo in camera reconstruction context creation.
Sergey Sharybin [Wed, 25 Jan 2012 09:27:18 +0000 (09:27 +0000)]
Fix typo in camera reconstruction context creation.

Thanks to Lockal to pointing out!

9 years agoCucumber left over: new scene needs a default ESC key
Dalai Felinto [Wed, 25 Jan 2012 01:39:38 +0000 (01:39 +0000)]
Cucumber left over: new scene needs a default ESC key

9 years agosvn merge ^/trunk/blender -r43676:43685
Campbell Barton [Tue, 24 Jan 2012 22:44:48 +0000 (22:44 +0000)]
svn merge ^/trunk/blender -r43676:43685

9 years agofound a bug by accident.
Campbell Barton [Tue, 24 Jan 2012 22:15:25 +0000 (22:15 +0000)]
found a bug by accident.
- bugfix for setting string defaults in rna functions (incorrect pointer use and would copy past string length).
- Object.dm_info was setting a default when it didnt need to.

9 years agodefine to enable tesselate to quads, this way files from trunk tesselate back into...
Campbell Barton [Tue, 24 Jan 2012 20:58:43 +0000 (20:58 +0000)]
define to enable tesselate to quads, this way files from trunk tesselate back into their original geometry with the same face order.

this will be needed for tangents and most likely hair if its to load correctly from trunk.

disabled for now until this is working correctly - hair still needs more work.

9 years agoNode UI:
Thomas Dinges [Tue, 24 Jan 2012 20:56:19 +0000 (20:56 +0000)]
Node UI:
* Make sure to check on snode_id, raised errors if no world datablock was active.

9 years agofix for memory leak when particles have 0 elements.
Campbell Barton [Tue, 24 Jan 2012 20:33:26 +0000 (20:33 +0000)]
fix for memory leak when particles have 0 elements.

9 years agoImprovement for last commit, only do redraw when actually needed (in world shader...
Thomas Dinges [Tue, 24 Jan 2012 20:19:26 +0000 (20:19 +0000)]
Improvement for last commit, only do redraw when actually needed (in world shader type)

9 years agosvn merge ^/trunk/blender -r43664:43676
Campbell Barton [Tue, 24 Jan 2012 20:19:09 +0000 (20:19 +0000)]
svn merge ^/trunk/blender -r43664:43676

9 years agoFix compilation error caused by recent changes in file browser stuff
Sergey Sharybin [Tue, 24 Jan 2012 20:13:44 +0000 (20:13 +0000)]
Fix compilation error caused by recent changes in file browser stuff

9 years agoCycles Node Editor:
Thomas Dinges [Tue, 24 Jan 2012 20:10:37 +0000 (20:10 +0000)]
Cycles Node Editor:
* Add Use Nodes button for World shader type
* UI was not redrawing the Node area, when enabling "Use nodes", added check for it to the listener.

9 years agouse a struct to pass normals to normal draw derived mesh callbacks (no functional...
Campbell Barton [Tue, 24 Jan 2012 19:57:34 +0000 (19:57 +0000)]
use a struct to pass normals to normal draw derived mesh callbacks (no functional changes)

9 years agoEnable 16 bit format for float textures by default after discussion with Morten and...
Antony Riakiotakis [Tue, 24 Jan 2012 19:54:18 +0000 (19:54 +0000)]
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.

9 years agofix for 3 issues when applying a deform modifier in editmode.
Campbell Barton [Tue, 24 Jan 2012 19:37:18 +0000 (19:37 +0000)]
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).

9 years agoDynamic Paint:
Miika Hamalainen [Tue, 24 Jan 2012 18:29:01 +0000 (18:29 +0000)]
Dynamic Paint:
* Converted some more functions to use mpolys/mloops instead of tessellated faces.
* Fixed some bmesh related issues.

9 years agoremove redundant casts.
Campbell Barton [Tue, 24 Jan 2012 18:24:19 +0000 (18:24 +0000)]
remove redundant casts.

9 years agosimplify editmesh mapping lookups.
Campbell Barton [Tue, 24 Jan 2012 18:20:33 +0000 (18:20 +0000)]
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.

9 years agoFix #29946: Recover Auto Save defaults to "Short List" View -- Cannot determine dates
Sergey Sharybin [Tue, 24 Jan 2012 18:18:51 +0000 (18:18 +0000)]
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!

9 years agoDynamic Paint:
Miika Hamalainen [Tue, 24 Jan 2012 17:28:50 +0000 (17:28 +0000)]
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.

9 years agocorrect error in recent merge.
Campbell Barton [Tue, 24 Jan 2012 16:54:21 +0000 (16:54 +0000)]
correct error in recent merge.

9 years agoBrightness/Contrast Node for Cycles
Dalai Felinto [Tue, 24 Jan 2012 16:32:31 +0000 (16:32 +0000)]
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.

9 years agosvn merge ^/trunk/blender -r43639:43664
Campbell Barton [Tue, 24 Jan 2012 16:18:20 +0000 (16:18 +0000)]
svn merge ^/trunk/blender -r43639:43664

9 years agocomment unused assignment.
Campbell Barton [Tue, 24 Jan 2012 15:51:44 +0000 (15:51 +0000)]
comment unused assignment.

9 years agoquiet some warnings & (possible/unlikely error)
Campbell Barton [Tue, 24 Jan 2012 15:37:50 +0000 (15:37 +0000)]
quiet some warnings & (possible/unlikely error)

9 years agoNew fix for [#29940] Stretch To constraint breaks scaling in Transform constraint...
Bastien Montagne [Tue, 24 Jan 2012 13:17:32 +0000 (13:17 +0000)]
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.

9 years agoFix #29975: Track Preview color channels not filtering correctly
Sergey Sharybin [Tue, 24 Jan 2012 12:25:03 +0000 (12:25 +0000)]
Fix #29975: Track Preview color channels not filtering correctly

Typo in checking bitflags

9 years agoBugfix: Circle-select in Pose Mode disregarded layer visibility, selecting
Joshua Leung [Tue, 24 Jan 2012 08:43:39 +0000 (08:43 +0000)]
Bugfix: Circle-select in Pose Mode disregarded layer visibility, selecting
invisible bones too

9 years agoFix #29965: Crash: Memory psys node array: end corrupt
Sergey Sharybin [Tue, 24 Jan 2012 08:43:17 +0000 (08:43 +0000)]
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.

9 years agoAdd the .Identity() classmethod to mathutils matrices. This allows the user
Andrew Hale [Tue, 24 Jan 2012 01:56:44 +0000 (01:56 +0000)]
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.

9 years agocommented smoke collision derived mesh,
Campbell Barton [Tue, 24 Jan 2012 01:21:43 +0000 (01:21 +0000)]
commented smoke collision derived mesh,

was storing its own copy of the collision mesh but never using it.

9 years agoremove unneeded re-tessellation converting metaball to mesh.
Campbell Barton [Tue, 24 Jan 2012 00:52:26 +0000 (00:52 +0000)]
remove unneeded re-tessellation converting metaball to mesh.

9 years agofix leak in mirror modifier.
Campbell Barton [Tue, 24 Jan 2012 00:26:12 +0000 (00:26 +0000)]
fix leak in mirror modifier.

9 years agofix for crash with mesh undo with shape keys
Campbell Barton [Mon, 23 Jan 2012 23:53:21 +0000 (23:53 +0000)]
fix for crash with mesh undo with shape keys

'undomesh' was also used in confusing way (relied on mesh being first member).

9 years agocomment unused code.
Campbell Barton [Mon, 23 Jan 2012 23:39:51 +0000 (23:39 +0000)]
comment unused code.

9 years agoMisc picky edits to UI messages.
Bastien Montagne [Mon, 23 Jan 2012 22:57:46 +0000 (22:57 +0000)]
Misc picky edits to UI messages.

9 years agofix for crash applying solidift after subsurf
Campbell Barton [Mon, 23 Jan 2012 21:04:56 +0000 (21:04 +0000)]
fix for crash applying solidift after subsurf

9 years agoassertion when bvhtree_from_mesh_faces is called and tessfaces dont exist.
Campbell Barton [Mon, 23 Jan 2012 20:46:38 +0000 (20:46 +0000)]
assertion when bvhtree_from_mesh_faces is called and tessfaces dont exist.

9 years agorst bge touch ups: making the title of the examples slightly more noticeable
Dalai Felinto [Mon, 23 Jan 2012 19:53:23 +0000 (19:53 +0000)]
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

9 years agoBLI_array_reserve from bmesh.
Campbell Barton [Mon, 23 Jan 2012 19:42:22 +0000 (19:42 +0000)]
BLI_array_reserve from bmesh.

9 years agoFix #29970: Crash trying to track disabled marker
Sergey Sharybin [Mon, 23 Jan 2012 19:32:00 +0000 (19:32 +0000)]
Fix #29970: Crash trying to track disabled marker

9 years agoFix compilation error caused by code cleanup
Sergey Sharybin [Mon, 23 Jan 2012 17:49:56 +0000 (17:49 +0000)]
Fix compilation error caused by code cleanup

9 years agoCarve booleans: corrected copyright header
Sergey Sharybin [Mon, 23 Jan 2012 17:44:19 +0000 (17:44 +0000)]
Carve booleans: corrected copyright header

9 years agoCarve booleans: code and style cleanup
Sergey Sharybin [Mon, 23 Jan 2012 17:44:05 +0000 (17:44 +0000)]
Carve booleans: code and style cleanup

9 years agoFix #29934: New Carve library can't execute boolean operations in some cases
Sergey Sharybin [Mon, 23 Jan 2012 17:43:41 +0000 (17:43 +0000)]
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

9 years agoBMesh: Fix for previous own fix (re-enable DynamicPaint previews in Object mode).
Bastien Montagne [Mon, 23 Jan 2012 17:17:08 +0000 (17:17 +0000)]
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…

9 years agosvn merge ^/trunk/blender -r43616:43639
Campbell Barton [Mon, 23 Jan 2012 16:46:35 +0000 (16:46 +0000)]
svn merge ^/trunk/blender -r43616:43639

9 years agoBMesh: Fix (re-enable) DynamicPaint previews in Object mode.
Bastien Montagne [Mon, 23 Jan 2012 16:32:11 +0000 (16:32 +0000)]
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.

9 years agouse same default as trunk for cylinder depth
Campbell Barton [Mon, 23 Jan 2012 14:03:09 +0000 (14:03 +0000)]
use same default as trunk for cylinder depth

9 years agoreplace BLI_array_growone() with BLI_array_growitems() when the size of the increase...
Campbell Barton [Mon, 23 Jan 2012 13:51:44 +0000 (13:51 +0000)]
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.

9 years agospeedup for mesh -> bmesh conversion
Campbell Barton [Mon, 23 Jan 2012 13:50:00 +0000 (13:50 +0000)]
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.

9 years agofix for leak in bmesh_jekv() when large ngons were being used.
Campbell Barton [Mon, 23 Jan 2012 13:44:57 +0000 (13:44 +0000)]
fix for leak in bmesh_jekv() when large ngons were being used.
also make BLI_array use more efficient.

9 years agoreplace BLI_array_staticdeclare with BLI_array_fixedstack_declare()
Campbell Barton [Mon, 23 Jan 2012 13:41:28 +0000 (13:41 +0000)]
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).

9 years agominor refactor to main tesselation function
Campbell Barton [Mon, 23 Jan 2012 13:36:11 +0000 (13:36 +0000)]
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.

9 years agoIn order to maintain consistency with other uses of .remove(), these functions will...
Andrew Hale [Mon, 23 Jan 2012 13:29:29 +0000 (13:29 +0000)]
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.

9 years agoimprove editmode triangulation by re-using the loop array when
Campbell Barton [Mon, 23 Jan 2012 13:25:06 +0000 (13:25 +0000)]
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-

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.

9 years agoavoid using resizing array for transform (size is known to begin with, use single...
Campbell Barton [Mon, 23 Jan 2012 13:15:40 +0000 (13:15 +0000)]
avoid using resizing array for transform (size is known to begin with, use single alloc)

9 years agoFix for compilation error when using scons and carve is disabled
Sergey Sharybin [Mon, 23 Jan 2012 08:48:52 +0000 (08:48 +0000)]
Fix for compilation error when using scons and carve is disabled

9 years agomodifier Apply as Shape is now Apply as Shape Key. Was confusing some users
Daniel Salazar [Mon, 23 Jan 2012 03:13:55 +0000 (03:13 +0000)]
modifier Apply as Shape is now Apply as Shape Key. Was confusing some users

9 years agoCloth: Add "velocity damping" to damping options. This will help with the "cloth...
Daniel Genrich [Mon, 23 Jan 2012 01:35:14 +0000 (01:35 +0000)]
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.

9 years agoFix for "[#29911] Crash on reading BL_ActionActuator.channelNames"
Mitchell Stokes [Sun, 22 Jan 2012 23:15:35 +0000 (23:15 +0000)]
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:


9 years agoCycles UI:
Thomas Dinges [Sun, 22 Jan 2012 23:13:24 +0000 (23:13 +0000)]
Cycles UI:
* Add World ID Block to World Shader Nodes.

9 years agoCycles Textures:
Thomas Dinges [Sun, 22 Jan 2012 22:59:21 +0000 (22:59 +0000)]
Cycles Textures:
* Remove the "Use nodes" button, the TextureOutput node was never ported to trunk from the cycles branch.

9 years agoCycles UI:
Thomas Dinges [Sun, 22 Jan 2012 22:43:21 +0000 (22:43 +0000)]
Cycles UI:
* Use full width for the world sample as lamp properties

9 years agoOcean Modifier UI fixes:
Thomas Dinges [Sun, 22 Jan 2012 22:30:45 +0000 (22:30 +0000)]
Ocean Modifier UI fixes:
* Modifier Icon was missing in the outliner
* Fluid icon was used in the rna struct, fixed

Note: Ocean uses the Wave modifier icon atm, if we find a better one, this can be changed.

9 years agodissable double re-tesselation when entering editmode.
Campbell Barton [Sun, 22 Jan 2012 22:20:20 +0000 (22:20 +0000)]
dissable double re-tesselation when entering editmode.

9 years agodissable editmode tesselation calculation on exiting editmode, the mesh conversion...
Campbell Barton [Sun, 22 Jan 2012 22:06:12 +0000 (22:06 +0000)]
dissable editmode tesselation calculation on exiting editmode, the mesh conversion function does this.

9 years agodisable re-tesselation for modifiers that use bmesh, array/bevel/edge split - were...
Campbell Barton [Sun, 22 Jan 2012 21:12:18 +0000 (21:12 +0000)]
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.

9 years agoCommitting patch "[#27676] Change window size/resolution in realtime" by me.
Mitchell Stokes [Sun, 22 Jan 2012 20:25:25 +0000 (20:25 +0000)]
Committing patch "[#27676] Change window size/resolution in realtime" by me.

This patch allows the user to change the size of the window (or the resolution in fullscreen mode) using the new bge.render.setWindowSize() method. This only works in the Blenderplayer since it doesn't make a whole lot of sense for the embedded player.

9 years agosvn merge ^/trunk/blender -r43611:43616
Campbell Barton [Sun, 22 Jan 2012 20:15:05 +0000 (20:15 +0000)]
svn merge ^/trunk/blender -r43611:43616

9 years agoMerged with trunk (-r43609:43611): updated modifier preview.
Bastien Montagne [Sun, 22 Jan 2012 20:05:26 +0000 (20:05 +0000)]
Merged with trunk (-r43609:43611): updated modifier preview.

Noted preview code for DynamicPaint is currently disabled, will see if I can re-enable it…

9 years agorestrict stitching of same island uvs to only midpoint, without snapping case
Antony Riakiotakis [Sun, 22 Jan 2012 20:01:33 +0000 (20:01 +0000)]
restrict stitching of same island uvs to only midpoint, without snapping case

9 years agominor edit for operator error macro so it can return different values.
Campbell Barton [Sun, 22 Jan 2012 19:52:41 +0000 (19:52 +0000)]
minor edit for operator error macro so it can return different values.

9 years agoerror in outliner parent patch - was using set string on an enum property.
Campbell Barton [Sun, 22 Jan 2012 18:59:06 +0000 (18:59 +0000)]
error in outliner parent patch - was using set string on an enum property.

9 years agominor header tidy up
Campbell Barton [Sun, 22 Jan 2012 18:44:44 +0000 (18:44 +0000)]
minor header tidy up

9 years agosvn merge ^/trunk/blender -r43564:43609
Campbell Barton [Sun, 22 Jan 2012 18:04:35 +0000 (18:04 +0000)]
svn merge ^/trunk/blender -r43564:43609

9 years agoAdd weight preview to WeightVG modifiers, and first, simple/basic refactor of how...
Bastien Montagne [Sun, 22 Jan 2012 17:54:23 +0000 (17:54 +0000)]
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:
* 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.

9 years agoQuiet warnings in text editor
Campbell Barton [Sun, 22 Jan 2012 17:26:56 +0000 (17:26 +0000)]
Quiet warnings in text editor

9 years agouse inline BLI_math functions for dot product and length calculation.
Campbell Barton [Sun, 22 Jan 2012 17:20:37 +0000 (17:20 +0000)]
use inline BLI_math functions for dot product and length calculation.

9 years agoFix for the Sculpt UI (revert part of 43535 by nicholasbishop)
Thomas Dinges [Sun, 22 Jan 2012 16:29:10 +0000 (16:29 +0000)]
Fix for the Sculpt UI (revert part of 43535 by nicholasbishop)
* Such labels like for "use_space_atten" should not be in the UI, thats too overkill. Toolbar is meant to be small in size.

9 years agoFix #29935: missing cycles update/crash when removing world datablock form scene.
Brecht Van Lommel [Sun, 22 Jan 2012 13:56:39 +0000 (13:56 +0000)]
Fix #29935: missing cycles update/crash when removing world datablock form scene.

9 years agoFix missing shadows with cycles world sample as lamp option, my mistake in
Brecht Van Lommel [Sun, 22 Jan 2012 13:26:59 +0000 (13:26 +0000)]
Fix missing shadows with cycles world sample as lamp option, my mistake in
tweaking patch.

9 years agoBugfix for r.43592
Joshua Leung [Sun, 22 Jan 2012 11:59:30 +0000 (11:59 +0000)]
Bugfix for r.43592

A typo (?) meant that enum menus, such as the Set Parent (Ctrl P) menu would get
shown with empty string labels.

9 years agoPatch [#27790] Drag and drop parenting in outliner
Joshua Leung [Sun, 22 Jan 2012 10:20:30 +0000 (10:20 +0000)]
Patch [#27790] Drag and drop parenting in outliner

Submitted by Perry Parks (scuey)

From the patch:
This patch enables drag and drop parenting for objects in the outliner.

Drag and drop is supported for a selection of multiple objects as well. Also,
all of the "special" parenting tasks (armature, curve, lattice) are possible
through the usual parenting context menus. For example, drag a mesh object onto
an armature and you are prompted for using bone envelopes, automatic weights,

Demonstration on Vimeo:

9 years agoFix a crasher in WeightVG modifiers.
Bastien Montagne [Sun, 22 Jan 2012 10:14:01 +0000 (10:14 +0000)]
Fix a crasher in WeightVG modifiers.

Problem was, if no vertices were ever added to one of the obect's vgroups, there is no CD_DEFORMVERT layer, even though there might be several valid vgroup indices... Odd no one noticed that earlier.

Many thanks to miikah for finding that bug!

9 years agoPatch [#28608] Add search match colour to theme settings
Joshua Leung [Sun, 22 Jan 2012 06:10:21 +0000 (06:10 +0000)]
Patch [#28608] Add search match colour to theme settings
Submitted by Shane Ambler (sambler)

From patch description:
As a follow on from #23443 - committed in r40066 I have added the outliner
filter match highlight colour to the theme settings.

Default colour is a light green matching what was originally hard coded.

9 years agoCommitting patch "[#29763] Adding an active_events property to SCA_PythonKeyboard...
Mitchell Stokes [Sun, 22 Jan 2012 05:45:56 +0000 (05:45 +0000)]
Committing patch "[#29763] Adding an active_events property to SCA_PythonKeyboard and SCA_PythonMouse"

Here is the description:
As the summary says, this patch adds a new event to both SCA_PythonKeyboard and SCA_PythonMouse. This property is similar to the events property that both have, but it only returns events which are not KX_NO_INPUTSTATUS. This moves the "no input" check from Python to C, which gave my input handling code a 2x speed up. Python sucks (performance-wise) with iterating lists and SCA_PythonKeyboard has close to 200 events (I think something like 177, but I don't know for sure).

9 years agoBugfix [#29869] NLA editor keeps resetting my extrapolation mode every time I
Joshua Leung [Sun, 22 Jan 2012 04:39:33 +0000 (04:39 +0000)]
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).

9 years agoBugfix [#28468] Cannot enter "Tweak mode" on mutiple objects at the same time,
Joshua Leung [Sun, 22 Jan 2012 04:30:52 +0000 (04:30 +0000)]
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

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 ;)

9 years agofix for own error in recent paint refactor, subtract mode was broken.
Campbell Barton [Sun, 22 Jan 2012 04:30:11 +0000 (04:30 +0000)]
fix for own error in recent paint refactor, subtract mode was broken.

9 years agoBugfix [#29822] Driver's target field doesn't update on Bone rename
Joshua Leung [Sun, 22 Jan 2012 04:12:30 +0000 (04:12 +0000)]
Bugfix [#29822] Driver's target field doesn't update on Bone rename

This only affected non-object drivers, since the renaming was only getting
called on object-animdata.

9 years agoFluidsim - Restoring simulation speed control (ZanQdo request)
Joshua Leung [Sun, 22 Jan 2012 03:42:49 +0000 (03:42 +0000)]
Fluidsim - Restoring simulation speed control (ZanQdo request)

This commit restores support for freezing or speeding up physics sims. Animate
the "Speed" parameter under Domain->Time, which controls a multiplier factor for
the rate at which the sim proceeds (i.e. the old "Fac-Tim" setting).

* Subversion bumped to 4 to patch up defaults for new value so that old sim
files will still run correctly
* Names/descriptions could do with some tweaking
* Porting this across was not that obvious since quite a bit of stuff had
changed (as in, been cleaned up). However, from tests so far, it seems to work

9 years agoreduce operator lookups in the UI (could do 4 hash lookups per button).
Campbell Barton [Sun, 22 Jan 2012 03:30:07 +0000 (03:30 +0000)]
reduce operator lookups in the UI (could do 4 hash lookups per button).

9 years agocucumber merge: world scaling + video texture constants
Dalai Felinto [Sun, 22 Jan 2012 03:21:28 +0000 (03:21 +0000)]
cucumber merge: world scaling + video texture constants
revisions: 38166,38167,38177,38179,38180,38187,38242

To be implemented after merge:
1) add pydocs(rst) for the video texture new defines
2) see if a NodeSetLocalMatrix would fit well

#43439 by kupoman
Changing the worldTransform and localTransform python attributes to use BLI_math to simplify the code

#38242 by kupoman
Adding the constants SOURCE_ERROR, SOURCE_EMPTY, SOURCE_READY, SOURCE_PLAYING, SOURCE_STOPPED to the video texture module. Updates to the documentation will follow after a merge with trunk

#38187 by kupoman
Updates to the documentation to reflect that worldScale is now writable, and added localTransform and worldTransform to KX_GameObject.

#38180 by kupoman
The Transform attribute of KX_GameObject was based on world space data. I converted that one to worldTransform, and added a localTransform for local space transform information.

#38179 by kupoman
Fixed the transform attribute of KX_GameObject's set method to properly deal with negative scaling.

#38177 by kupoman
Updated the transform property on KX_GameObject so that it is now read/write, and added the corresponding set method. Also simplified the get method by calling GetOpenGLMatrix instead of making the matrix myself.

#38167 by kupoman
Adding a read only transform attribute to KX_GameObject that returns a 4x4 matrix representing the object's transformations.

#38166 by kupoman
Adding a worldScale attribute to KX_GameObject. This attribute scales the object independently of its parent's scale.

9 years agofix for 'next' being set twice in the for loop from r43588
Campbell Barton [Sun, 22 Jan 2012 00:53:53 +0000 (00:53 +0000)]
fix for 'next' being set twice in the for loop from r43588

9 years agopatch: 'set the right Action Actuator when duplicating an object' by Daniel Macedo
Dalai Felinto [Sat, 21 Jan 2012 23:57:28 +0000 (23:57 +0000)]
patch: 'set the right Action Actuator when duplicating an object' by Daniel Macedo
bug and patch not in tracker. little fix by me (replace while loop by for(...;act;...). Thanks Daniel ;)