7 years agoSpeedup track preview widget for byte images
Sergey Sharybin [Thu, 10 Apr 2014 15:14:36 +0000 (21:14 +0600)]
Speedup track preview widget for byte images

This gives a huge speedup gain for cases when you've got
rather huge markers on a byte images.

Done by skipping IMB_float_from_rect()/IMB_rect_from_float()
for such cases. We can sample the buffers without color space

7 years agoFix numpad emulation in non-US keyboards
Campbell Barton [Thu, 10 Apr 2014 10:31:00 +0000 (20:31 +1000)]
Fix numpad emulation in non-US keyboards

Patch D455 from BenoĆ®t Legat with own minor edits.

7 years agoBMesh: DM_to_bmesh_ex, no need to calloc
Campbell Barton [Thu, 10 Apr 2014 01:03:57 +0000 (11:03 +1000)]
BMesh: DM_to_bmesh_ex, no need to calloc

7 years agoRevert "Mempool: simplify memory chunk list building"
Campbell Barton [Thu, 10 Apr 2014 00:39:40 +0000 (10:39 +1000)]
Revert "Mempool: simplify memory chunk list building"

This reverts commit c82371fc06ffb8d2970c985b44167e9a5e0222f1.

Caused regression in iterator

7 years agoRemove extra glEnd() call.
Antony Riakiotakis [Wed, 9 Apr 2014 22:25:12 +0000 (01:25 +0300)]
Remove extra glEnd() call.

7 years agoBGE: Allow skinned meshes with modifiers to do skinning updates in parallel.
Mitchell Stokes [Thu, 10 Apr 2014 00:04:17 +0000 (17:04 -0700)]
BGE: Allow skinned meshes with modifiers to do skinning updates in parallel.

7 years agoBGE: Fixing a crash when animating objects with modifiers and armatures.
Mitchell Stokes [Wed, 9 Apr 2014 23:19:13 +0000 (16:19 -0700)]
BGE: Fixing a crash when animating objects with modifiers and armatures.

Our deformer system really needs some work. First, there was a crash
with shape keys because BL_ModifierDeformer derives from
BL_ShapeDeformer, which means we try to execute shape keys even if we do
not have them. Also, for some reason BL_ModifierDeformer::Update() does
not work if called from the threaded loop, so it is skipped for now. In
other words, skinned updates on meshes with modifiers are currently not
run in parallel.

7 years agoMore instances of needed material initialization.
Antony Riakiotakis [Wed, 9 Apr 2014 22:16:17 +0000 (01:16 +0300)]
More instances of needed material initialization.

7 years agoCode cleanup: use struct type for mempool & style edits
Campbell Barton [Wed, 9 Apr 2014 20:24:33 +0000 (06:24 +1000)]
Code cleanup: use struct type for mempool & style edits

7 years agoFix T39663: Blender crashes when trying to triangulate uv unwrapped mesh.
Bastien Montagne [Wed, 9 Apr 2014 20:15:25 +0000 (22:15 +0200)]
Fix T39663: Blender crashes when trying to triangulate uv unwrapped mesh.

A dummy arg inversion! This is to be included in 2.70a!

7 years agoBack buffer selection needs updates to materials.
Antony Riakiotakis [Wed, 9 Apr 2014 16:51:29 +0000 (19:51 +0300)]
Back buffer selection needs updates to materials.

7 years agoMake material array account for mesh/object storage of materials
Antony Riakiotakis [Wed, 9 Apr 2014 15:37:54 +0000 (18:37 +0300)]
Make material array account for mesh/object storage of materials

7 years agoRevert "FCurve Transform: scaling no longer changes hansle types"
Campbell Barton [Wed, 9 Apr 2014 10:25:37 +0000 (20:25 +1000)]
Revert "FCurve Transform: scaling no longer changes hansle types"

This reverts commit 6cc5bdc99e63b05248f132833bfe0259c2a27923.

Revent this for 2.70a, it changes behavior too much without allowing
keyframe handles to be scaled some alternative way.

7 years agoFix T39608: Blender 2.70 crashes when performing union
Sergey Sharybin [Wed, 9 Apr 2014 08:23:35 +0000 (14:23 +0600)]
Fix T39608: Blender 2.70 crashes when performing union

This was a nasty bug which was caused by specific of how face-edge
attributes are stored in Carve.

Face pointer is used in the map key which works just fine in all
cases except for the cases when some face is getting freed after
it was stored in the map.

This might give real issues when new face is allocating because
it's possible new face would have the same address as the freed

Such cases used to happen when union of separate manifolds is
needed for the operands AND jemalloc is enabled.

Solved by dropping attributes for the freed faces from the map.
Maybe not the fastest ever approach, but not sure how to make
it faster actually. Should work just fine. It only happens for
complex setups with intersecting manifolds in the operands.

7 years agoFreestyle: fix for typos in Python API docstrings.
Tamito Kajiyama [Wed, 9 Apr 2014 06:56:41 +0000 (15:56 +0900)]
Freestyle: fix for typos in Python API docstrings.

7 years agoCode cleanup: ifdef unused linklist for GPU drawobject's
Campbell Barton [Wed, 9 Apr 2014 05:38:37 +0000 (15:38 +1000)]
Code cleanup: ifdef unused linklist for GPU drawobject's

7 years agoView3D: disable LOD when game engine is disabled or ifdef'd
Campbell Barton [Wed, 9 Apr 2014 01:48:04 +0000 (11:48 +1000)]
View3D: disable LOD when game engine is disabled or ifdef'd

7 years agoCode cleanup: remove Object.bbsize, sizefac and pad
Campbell Barton [Wed, 9 Apr 2014 00:18:23 +0000 (10:18 +1000)]
Code cleanup: remove Object.bbsize, sizefac and pad

7 years agoMore stack cleanup on GPU_buffers
Antony Riakiotakis [Wed, 9 Apr 2014 01:42:26 +0000 (04:42 +0300)]
More stack cleanup on GPU_buffers

7 years agoAdd material storage to derivedmesh.
Antony Riakiotakis [Wed, 9 Apr 2014 01:03:25 +0000 (04:03 +0300)]
Add material storage to derivedmesh.

The variables are considered invalid unless DM_update_materials is
called prior to use. Only use case currently is
mesh drawing. This helps with excessive allocation on the stack during
GPUObject creation, but may help elsewhere in the future as well.

7 years agoFix T39646: Rigid Body Constraints non functional on release builds
Sergej Reich [Tue, 8 Apr 2014 23:22:54 +0000 (01:22 +0200)]
Fix T39646: Rigid Body Constraints non functional on release builds

-ffast-math is evil, not sure why it was enabled...
I seems to work better on OSX but it's still not a good idea.

The SConscript for bullet is a mess, I don't understand why
we use different flags for different platforms in the first place.
Seems to be a historical artifact but I don't know enough about scons
to try and clean it up.

7 years agoGPU: replace callocs with malloc since reallocs aren't cleared
Campbell Barton [Tue, 8 Apr 2014 23:30:00 +0000 (09:30 +1000)]
GPU: replace callocs with malloc since reallocs aren't cleared

7 years agoCycles / CUDA: Increase sm_2x registers to 40.
Thomas Dinges [Tue, 8 Apr 2014 21:25:54 +0000 (23:25 +0200)]
Cycles / CUDA: Increase sm_2x registers to 40.

This fixes the ptaxs "ACCESS_VIOLATION" error and should allow our Linux and Windows build bots to compile again.
Unfortunately this comes with a performance penalty on sm_2x cards, so this is only a workaround for now. Branched Path is still globally disabled on GPU.

7 years agoGHash/Edgehash: make simple iterator checking functions inline.
Campbell Barton [Tue, 8 Apr 2014 05:50:38 +0000 (15:50 +1000)]
GHash/Edgehash: make simple iterator checking functions inline.

also remove NULL check, only a few areas made use of this.

7 years agoDyntopo: replace GHash with GSet, saves some memory
Campbell Barton [Tue, 8 Apr 2014 04:45:48 +0000 (14:45 +1000)]
Dyntopo: replace GHash with GSet, saves some memory

7 years agoDerivedMesh: replace edgehash with edgeset
Campbell Barton [Tue, 8 Apr 2014 04:44:46 +0000 (14:44 +1000)]
DerivedMesh: replace edgehash with edgeset

7 years agoMempool: simplify memory chunk list building
Campbell Barton [Tue, 8 Apr 2014 03:41:57 +0000 (13:41 +1000)]
Mempool: simplify memory chunk list building

7 years agoBMesh: bmesh_sfme now initializes the copy
Campbell Barton [Tue, 8 Apr 2014 02:54:29 +0000 (12:54 +1000)]
BMesh: bmesh_sfme now initializes the copy

7 years agoBMesh: minor speedup, avoid calloc+assign, assign all members instead
Campbell Barton [Tue, 8 Apr 2014 02:51:00 +0000 (12:51 +1000)]
BMesh: minor speedup, avoid calloc+assign, assign all members instead

7 years agoMempool: delay allocating an initial chunk, its not always used
Campbell Barton [Tue, 8 Apr 2014 01:59:28 +0000 (11:59 +1000)]
Mempool: delay allocating an initial chunk, its not always used

7 years agoMatcaps.
Antony Riakiotakis [Mon, 7 Apr 2014 22:24:45 +0000 (01:24 +0300)]

Instead of setting color every time, just set it on material enable.
Handles all cases of surfaces. Thanks to Campbell for pointing out!

7 years agoCode cleanup: remove paranoid NULL check
Campbell Barton [Mon, 7 Apr 2014 21:46:28 +0000 (07:46 +1000)]
Code cleanup: remove paranoid NULL check

7 years agoFix T39635: Crash convening curve to mesh
Campbell Barton [Mon, 7 Apr 2014 21:28:14 +0000 (07:28 +1000)]
Fix T39635: Crash convening curve to mesh

7 years agoEnable openmp in MinGW-w64
Antony Riakiotakis [Mon, 7 Apr 2014 00:51:02 +0000 (03:51 +0300)]
Enable openmp in MinGW-w64

7 years agoFix T39626 Matcaps not working in edit mode.
Antony Riakiotakis [Mon, 7 Apr 2014 18:48:27 +0000 (21:48 +0300)]
Fix T39626 Matcaps not working in edit mode.

Set a while color before the draw call. This will be ineffective in GLSL
but will affect matcaps.

7 years agoWeekly UI messages fixes...
Bastien Montagne [Mon, 7 Apr 2014 18:31:15 +0000 (20:31 +0200)]
Weekly UI messages fixes...

7 years agoFix own rB8714ae09f894: Forgot to handle bone constraints in versionning code!
Bastien Montagne [Mon, 7 Apr 2014 17:43:21 +0000 (19:43 +0200)]
Fix own rB8714ae09f894: Forgot to handle bone constraints in versionning code!

7 years agoColor pickers:
Antony Riakiotakis [Mon, 7 Apr 2014 16:32:09 +0000 (19:32 +0300)]
Color pickers:

* Code Cleanup
* Fix some more color correction cases that were left unattended. (NDOF,
resetting the operation in circle pickers)

7 years agoFix own broken rB95b25e7333c4 (crash on any undo op :/).
Bastien Montagne [Mon, 7 Apr 2014 15:13:06 +0000 (17:13 +0200)]
Fix own broken rB95b25e7333c4 (crash on any undo op :/).

Issue here was that buttons_texture_context_compute() was getting scene from (button-customized) context,
before the button paths (and hence, context) had been updated. So after an undo, it was getting an invalid
(freed by undo) scene pointer.

Now update BCONTEXT_SCENE path before calling buttons_texture_context_compute().

7 years agoOpenCL Change opencl_assert to be more like cuda assert where possible.
Martijn Berger [Mon, 7 Apr 2014 14:17:20 +0000 (16:17 +0200)]
OpenCL Change opencl_assert to be more like cuda assert where possible.
added some extra warnings and feedback if things go wrong

7 years agoOpenCL + AMD adapt kernel to newer driver
Martijn Berger [Mon, 7 Apr 2014 12:01:31 +0000 (14:01 +0200)]
OpenCL + AMD adapt kernel to newer driver

7 years agoCode cleanup: make the source G rated again.
Campbell Barton [Mon, 7 Apr 2014 10:43:40 +0000 (20:43 +1000)]
Code cleanup: make the source G rated again.

7 years agoCode cleanup: use parens around multi-line defines.
Campbell Barton [Mon, 7 Apr 2014 10:38:16 +0000 (20:38 +1000)]
Code cleanup: use parens around multi-line defines.

7 years agoFix T39623: deleting an object crashes
Campbell Barton [Mon, 7 Apr 2014 10:24:20 +0000 (20:24 +1000)]
Fix T39623: deleting an object crashes

7 years agoFix T39562: Properties panel Pinning is broken
Bastien Montagne [Mon, 7 Apr 2014 10:23:24 +0000 (12:23 +0200)]
Fix T39562: Properties panel Pinning is broken

'scene' was simply not handled in button context.

7 years agoFix T39563: Tiny unit-display problem in constraint panels.
Bastien Montagne [Mon, 7 Apr 2014 10:10:37 +0000 (12:10 +0200)]
Fix T39563: Tiny unit-display problem in constraint panels.

There is no good solution here, since RNA props can only have one type/unit.
Tried to find the less worse one - have different RNA props for same DNA value
(a bit like the angle/length for camera lens).

Also fixed two other issues with Transform conctraint:
* Angle were still in degrees (yes, another backward-compatibility breacking).
* Scale was absolute, unlike loc/rot.

Also cleaned up a bit the code, replaced some magic numbers by proper enums, ...

7 years agoCorrect assert for RNA IDProps
Campbell Barton [Mon, 7 Apr 2014 09:51:43 +0000 (19:51 +1000)]
Correct assert for RNA IDProps

7 years agoCode cleanup: remove unused functions and convert int -> bool
Campbell Barton [Mon, 7 Apr 2014 07:00:08 +0000 (17:00 +1000)]
Code cleanup: remove unused functions and convert int -> bool

7 years agoCode cleanup: project gpencil in float coords & delete outdated comments
Campbell Barton [Mon, 7 Apr 2014 05:21:01 +0000 (15:21 +1000)]
Code cleanup: project gpencil in float coords & delete outdated comments

7 years agoDyntopo: minor speedups with bmesh use.
Campbell Barton [Mon, 7 Apr 2014 03:48:36 +0000 (13:48 +1000)]
Dyntopo: minor speedups with bmesh use.

7 years agoDyntopo: avoid mask layer lookups while adding/removing verts
Campbell Barton [Mon, 7 Apr 2014 03:05:39 +0000 (13:05 +1000)]
Dyntopo: avoid mask layer lookups while adding/removing verts

7 years agoMempool: use define for used freeword and correct define
Campbell Barton [Mon, 7 Apr 2014 02:52:23 +0000 (12:52 +1000)]
Mempool: use define for used freeword and correct define

7 years agoMempool: minor optimization to building free pointer list
Campbell Barton [Mon, 7 Apr 2014 02:34:13 +0000 (12:34 +1000)]
Mempool: minor optimization to building free pointer list

7 years agoMempool: fix own error in recent commit
Campbell Barton [Mon, 7 Apr 2014 01:45:36 +0000 (11:45 +1000)]
Mempool: fix own error in recent commit

chunks must be added in order for iteration.

7 years agoFix building for Windows.
Antony Riakiotakis [Mon, 7 Apr 2014 01:18:03 +0000 (04:18 +0300)]
Fix building for Windows.

7 years agoBGE: Multi-threading animation updates and skinning.
Mitchell Stokes [Sun, 6 Apr 2014 23:30:59 +0000 (16:30 -0700)]
BGE: Multi-threading animation updates and skinning.

This required BL_ArmatureObject to have tighter control over armatures and poses.
Also, (Blender) armature objects are now copied instead of shared between
BL_ArmatureObjects to avoid race conditions. Also, due to the armature copy,
shape key drivers need a bit of extra fiddling to get the correct armature copy.

Initially OpenMP was used for threading, but then BLI_task was used due to being
less compiler dependent.

This commit also places time spent on skinning updates in the Animation
profiler category (was previously under the Rasterizer category).

7 years agoTodo T36849: support XDG thumbnail management standard
Campbell Barton [Sun, 6 Apr 2014 22:42:08 +0000 (08:42 +1000)]
Todo T36849: support XDG thumbnail management standard

7 years agoblenderplayer - Reviewed some command line options and the respective help
brita [Sun, 6 Apr 2014 21:17:31 +0000 (14:17 -0700)]
blenderplayer - Reviewed some command line options and the respective help

Doubts: are written as comments in the code
Current Problems:
 - stereo modes sometimes have different names and are ordered differently everywhere (blender properties panel names and tooltips, blenderplayer cmndline)
 - dome mode as several options, but can only take one at a time, like -D mode bla -D tilt X -D ...
 - gameoptions are also given one at a time, like above, but with an assignment -g option = X  . This is inconsistent.
 - gameoptions need to be reviewed and docummented
 - parent to window (-i) is useful for what? (there is no wiki on this either)
 - there is no support for verbose options like --help (blender itself supports it)

Reviewers: dfelinto, moguri


Differential Revision:

7 years agoBetter code for (bone axis + roll) to mat
Bastien Montagne [Sun, 6 Apr 2014 17:15:17 +0000 (19:15 +0200)]
Better code for (bone axis + roll) to mat

See T39470 and D436. Code by @tippisum, with some minor edits by @mont29.

Tested with various rigs, including Rigify, CGcookie flex rig, and gooseberry/pataz caterpillar.

Riggers, please test it, no change expected in behaviour.

Reviewers: aligorith

CC: tippisum
Differential Revision:

7 years tweaks to support new LLVM-3.4.
Bastien Montagne [Sun, 6 Apr 2014 15:50:50 +0000 (17:50 +0200)] tweaks to support new LLVM-3.4.

Issue is, looks like Debian testing's graphic backend now uses LLVM-3.4,
which conflicts with 3.3 in Blender and makes it crash.

So add support to handle 3.4, by both allowing to force a specific version for some libs,
and switching back to head of official repo for OSL.

7 years agoFix T39479: Transform mouse constraint fails in some situations.
Bastien Montagne [Sun, 6 Apr 2014 09:11:56 +0000 (11:11 +0200)]
Fix T39479: Transform mouse constraint fails in some situations.

Some more float precision issue...

7 years agoMove LIKELY/UNLIKELY into header
Campbell Barton [Sun, 6 Apr 2014 07:25:50 +0000 (17:25 +1000)]
Move LIKELY/UNLIKELY into header

7 years agoGuarded Alloc: use UNLIKELY for debug memset
Campbell Barton [Sun, 6 Apr 2014 02:57:20 +0000 (12:57 +1000)]
Guarded Alloc: use UNLIKELY for debug memset

7 years agoFix error when enabling Mist pass but there was no world. Can't find mist settings...
Pablo Vazquez [Sat, 5 Apr 2014 20:52:06 +0000 (17:52 -0300)]
Fix error when enabling Mist pass but there was no world. Can't find mist settings, so check for World first.

7 years agoFix issue for OPENCL problem on Macosx 10.9.2
Monique Dewanchand [Sat, 5 Apr 2014 19:33:44 +0000 (21:33 +0200)]
Fix issue for OPENCL problem on Macosx 10.9.2

7 years agoFix sculpt brushes stuck to drag dot or anchored mode
Antony Riakiotakis [Sat, 5 Apr 2014 17:30:47 +0000 (20:30 +0300)]
Fix sculpt brushes stuck to drag dot or anchored mode

Was own mistake after RNA enu refactoring.

7 years agoRNA: optimization to avoid malloc for iterators.
Brecht Van Lommel [Sat, 5 Apr 2014 12:36:18 +0000 (14:36 +0200)]
RNA: optimization to avoid malloc for iterators.

This mostly helps making Cycles scene synchronization a bit faster.

7 years agoFix for auto detect homogeneous volume with OSL, forgot to include this file in last...
Brecht Van Lommel [Fri, 4 Apr 2014 11:20:46 +0000 (13:20 +0200)]
Fix for auto detect homogeneous volume with OSL, forgot to include this file in last commit.

7 years agoMath Lib: add power of 2 min/max for unsigned ints
Campbell Barton [Sat, 5 Apr 2014 10:39:46 +0000 (21:39 +1100)]
Math Lib: add power of 2 min/max for unsigned ints

7 years agoFix T39606, SSS and Volume nodes were showing warning, even if CPU was used.
Thomas Dinges [Sat, 5 Apr 2014 10:49:04 +0000 (12:49 +0200)]
Fix T39606, SSS and Volume nodes were showing warning, even if CPU was used.

7 years agoCycles UI: Refactor cpu checks into a use_cpu() function.
Thomas Dinges [Sat, 5 Apr 2014 10:31:59 +0000 (12:31 +0200)]
Cycles UI: Refactor cpu checks into a use_cpu() function.

7 years agoDyntopo: minor optimizations for edge queue
Campbell Barton [Sat, 5 Apr 2014 05:30:55 +0000 (16:30 +1100)]
Dyntopo: minor optimizations for edge queue

7 years agoRemove redundant call to CustomData_get_offset
Campbell Barton [Sat, 5 Apr 2014 01:32:25 +0000 (12:32 +1100)]
Remove redundant call to CustomData_get_offset

7 years agoOptimize mempool: round chunk size to powers of 2, account for slop-space
Campbell Barton [Sat, 5 Apr 2014 01:09:36 +0000 (12:09 +1100)]
Optimize mempool: round chunk size to powers of 2, account for slop-space

This helps to reduce memory fragmentation.

7 years agoMempool: remove BLI_MEMPOOL_SYSMALLOC, MEM_* allocs are more efficient now
Campbell Barton [Fri, 4 Apr 2014 23:57:32 +0000 (10:57 +1100)]
Mempool: remove BLI_MEMPOOL_SYSMALLOC, MEM_* allocs are more efficient now

7 years agoSolve issue with dyntopo collapse.
Antony Riakiotakis [Fri, 4 Apr 2014 23:31:10 +0000 (02:31 +0300)]
Solve issue with dyntopo collapse.

It was possible to delete a masked vertex during collapsing. Looks like
this is one of the causes for hangs during masked flood filling.

7 years agoOptimize mempool: replace double linked list with single for memory chunks
Campbell Barton [Fri, 4 Apr 2014 22:48:14 +0000 (09:48 +1100)]
Optimize mempool: replace double linked list with single for memory chunks

7 years agoGreat, now Debian Jessie as well can cause libyaml-cpp version mismatch... Update...
Bastien Montagne [Fri, 4 Apr 2014 20:45:23 +0000 (22:45 +0200)]
Great, now Debian Jessie as well can cause libyaml-cpp version mismatch... Update warning message!

7 years agoSome stupid systems give limited powers to sudo... So add a --no-sudo option disablin...
Bastien Montagne [Fri, 4 Apr 2014 20:36:28 +0000 (22:36 +0200)]
Some stupid systems give limited powers to sudo... So add a --no-sudo option disabling usage of sudo!

Note in this case, script becomes more or less useless, just spit out names of packages to install...

Requested by Dalai Felinto over IRC.

7 years agoMissing file in commit 12302011d6207a60b24d0cae71a88df0384bc5da.
Tamito Kajiyama [Fri, 4 Apr 2014 08:01:48 +0000 (17:01 +0900)]
Missing file in commit 12302011d6207a60b24d0cae71a88df0384bc5da.

7 years agoFreestyle: Removed SVertex _curvatureFredo and _directionFredo and their getter/sette...
Tamito Kajiyama [Fri, 4 Apr 2014 08:01:10 +0000 (17:01 +0900)]
Freestyle: Removed SVertex _curvatureFredo and _directionFredo and their getter/setter methods..

These data elements are undocumented and of little use.  For now they are commented out
in the implementation in favor of less memory consumption, and a very limited support for
these data components in the Python API was just removed (should be easy to recover).

7 years agoFreestyle: Fix for class definitions of 0D/1D functions (functors).
Tamito Kajiyama [Fri, 4 Apr 2014 07:34:49 +0000 (16:34 +0900)]
Freestyle: Fix for class definitions of 0D/1D functions (functors).

Symbol 'real' is an alias of double and is subject to future change, while the interface of
0D/1D functions is part of the stable Freestyle Python API.  So all occurrences of this type
in the class definitions were replaced with double.

7 years agoFix for typos in array size
Sergey Sharybin [Fri, 4 Apr 2014 12:03:17 +0000 (18:03 +0600)]
Fix for typos in array size

7 years agoFix for mask slide operators didn't work with LMB selection
Sergey Sharybin [Fri, 4 Apr 2014 11:23:45 +0000 (17:23 +0600)]
Fix for mask slide operators didn't work with LMB selection

7 years agoMask spline slide didn't respect auto-key
Sergey Sharybin [Fri, 4 Apr 2014 11:19:36 +0000 (17:19 +0600)]
Mask spline slide didn't respect auto-key

7 years agoMask spline slide: holding Ctrl will make handles free
Sergey Sharybin [Fri, 4 Apr 2014 11:08:09 +0000 (17:08 +0600)]
Mask spline slide: holding Ctrl will make handles free

7 years agoScons/cycles: fix header distribution for geom
Jens Verwiebe [Fri, 4 Apr 2014 11:07:23 +0000 (13:07 +0200)]
Scons/cycles: fix header distribution for geom

7 years agoFollowup to the previous commit: forgot to tweak handle type
Sergey Sharybin [Fri, 4 Apr 2014 10:49:50 +0000 (16:49 +0600)]
Followup to the previous commit: forgot to tweak handle type

7 years agoMask spline segment slide improvement
Sergey Sharybin [Fri, 4 Apr 2014 10:43:20 +0000 (16:43 +0600)]
Mask spline segment slide improvement

This implements weighted slide of second handle, just the
same exact way as it works in Gimp.

7 years agoOptimization for mempool initial chunk allocation
Campbell Barton [Fri, 4 Apr 2014 10:20:17 +0000 (21:20 +1100)]
Optimization for mempool initial chunk allocation

Almost all pools allocated 2 chunks on initialization,
every element needed to be added to the free-list which
would never be used for small pools.

Now allocate only one, gives minor speedup for some bmesh operations.

7 years agoMask point slide: clean-up of SlidePointData structure
Sergey Sharybin [Fri, 4 Apr 2014 09:11:39 +0000 (15:11 +0600)]
Mask point slide: clean-up of SlidePointData structure

7 years agoMaks point slide: get rid of jump when you press shift
Sergey Sharybin [Fri, 4 Apr 2014 09:03:14 +0000 (15:03 +0600)]
Maks point slide: get rid of jump when you press shift

7 years agoMask point slide: remove commented out code
Sergey Sharybin [Fri, 4 Apr 2014 08:36:41 +0000 (14:36 +0600)]
Mask point slide: remove commented out code

The code wasn't needed for quite a while already, so
let's get rid of it.

7 years agoMask curvature slide: reduce jumps on slide
Sergey Sharybin [Fri, 4 Apr 2014 08:34:11 +0000 (14:34 +0600)]
Mask curvature slide: reduce jumps on slide

Also correct wrong logic around tweaking handles type.

7 years agoFix crash happening in DAG_pose_sort() due to threading issues
Sergey Sharybin [Fri, 4 Apr 2014 06:42:35 +0000 (12:42 +0600)]
Fix crash happening in DAG_pose_sort() due to threading issues

This function used ugly hack with static variable which was
preventing some type checks in DAG nodes. Using this variable
form multiple threads is not considered safe, apparently.

Solved by moving this variable inside the DAGForest structure.
so it's global for the graph now, but different graphs does not
run into conflicts.

This required passing the forest to some functions, which doesn't
look so much nice, but don't want to spend time on making this
code look beautiful because it is really to be replaced by the
new dependency graph.

This is really bad bug actually which is must go to 'a'.

7 years agoCode cleanup: no need to use calloc when memory is initialized after
Campbell Barton [Fri, 4 Apr 2014 03:26:01 +0000 (14:26 +1100)]
Code cleanup: no need to use calloc when memory is initialized after

also replace AT with __func__ since AT expands the full pathname

7 years agoCloth: replace EdgeHash with EdgeSet
Campbell Barton [Fri, 4 Apr 2014 03:15:57 +0000 (14:15 +1100)]
Cloth: replace EdgeHash with EdgeSet

7 years agoClicking outside menus wasn't closing when opened from non menu popups
Campbell Barton [Thu, 3 Apr 2014 20:32:31 +0000 (07:32 +1100)]
Clicking outside menus wasn't closing when opened from non menu popups

7 years agoCycles: Disable Branched Path on all GPUs for now, until we separate the cubins.
Thomas Dinges [Thu, 3 Apr 2014 20:18:11 +0000 (22:18 +0200)]
Cycles: Disable Branched Path on all GPUs for now, until we separate the cubins.

SM_20 fails now as well, reported by Zanqdo in IRC.

7 years agoCycles volume: detect homogeneous volume automatically in common cases.
Brecht Van Lommel [Thu, 3 Apr 2014 20:04:39 +0000 (22:04 +0200)]
Cycles volume: detect homogeneous volume automatically in common cases.

In practice this means that if you don't connect a texture to your volume nodes
it will figure that out and render the node faster, rather than you having to
specify it manually.

Main weakness is custom OSL nodes where we have to assume it is heterogeneous
because we don't know what kind of data the node accesses.