5 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.

5 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.

5 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

5 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

5 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

5 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

5 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.

5 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.

5 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

5 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.

5 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.

5 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

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

5 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

5 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

5 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

5 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

5 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!

5 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

5 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

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

5 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.

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

5 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!

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

5 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().

5 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

5 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

5 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.

5 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.

5 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

5 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.

5 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, ...

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

5 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

5 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

5 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.

5 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

5 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

5 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

5 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.

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

5 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).

5 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

5 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:

5 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:

5 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.

5 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...

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

5 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

5 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.

5 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

5 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.

5 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.

5 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.

5 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

5 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.

5 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.

5 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

5 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

5 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.

5 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

5 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.

5 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

5 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!

5 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.

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

5 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).

5 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.

5 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

5 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

5 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

5 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

5 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

5 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

5 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.

5 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.

5 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

5 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

5 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.

5 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.

5 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'.

5 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

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

5 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

5 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.

5 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.

5 years agoCycles: SSE optimization for Voronoi cells texture
Sv. Lockal [Thu, 3 Apr 2014 19:34:53 +0000 (23:34 +0400)]
Cycles: SSE optimization for Voronoi cells texture

Gives 5-6% speedup for Caterpillar_PatazStudio.blend.

Reviewed By: brecht, dingto

Differential Revision:

5 years agoI18N: add missing lines
Sv. Lockal [Thu, 3 Apr 2014 18:49:27 +0000 (22:49 +0400)]
I18N: add missing lines

Reviewed By: mont29

Differential Revision:

5 years agoCycles: avoid 1.0f/(1.0f/x) divisions, which msvc (only) can't optimize.
Sv. Lockal [Thu, 3 Apr 2014 18:08:53 +0000 (22:08 +0400)]
Cycles: avoid 1.0f/(1.0f/x) divisions, which msvc (only) can't optimize.

This makes bmw scene in msvc 12 builds 6% faster.
It also gives a minor speedup for SSE hair in all compilers.

5 years agoFix T39577: cycles issue mixing anisotropic BSDFs with branched path tracer.
Brecht Van Lommel [Thu, 3 Apr 2014 13:51:43 +0000 (15:51 +0200)]
Fix T39577: cycles issue mixing anisotropic BSDFs with branched path tracer.

5 years agoSlide mask spline segment to define it's curvature
Sergey Sharybin [Thu, 3 Apr 2014 12:15:04 +0000 (18:15 +0600)]
Slide mask spline segment to define it's curvature

This actually implements the idea used in Gimp which is grabbing
an arbitrary point on the spline and dragging it, ensuring spline
goes over this point. This is really useful way to tweak spline

Currently only affects on a closest handle, meaning no weighting
on changes for both handles which are adjacent to the same segment
will happen just yet,

Another limitation is that currently such a slide is a big jumpy
when you start sliding. This is because projection is not used
to calculate u value because projection used to fail a lot for
me here and didn't find a nice solution for this yet. But this is
to be improved for sure!

5 years agoFix T37509: regression in smart-uv island orientation
Campbell Barton [Thu, 3 Apr 2014 11:03:53 +0000 (22:03 +1100)]
Fix T37509: regression in smart-uv island orientation

5 years agoOptimize BLI_convexhull_aabb_fit_hull_2d, avoid atan2, sin, cos
Campbell Barton [Thu, 3 Apr 2014 10:47:03 +0000 (21:47 +1100)]
Optimize BLI_convexhull_aabb_fit_hull_2d, avoid atan2, sin, cos

add utility functions for using a 2d unit vector as a rotation matrix
mul_v2_v2_cw & mul_v2_v2_ccw

5 years agoFix for T39537 wasn't complete, buttons in popups remained unset.
Campbell Barton [Thu, 3 Apr 2014 09:49:40 +0000 (20:49 +1100)]
Fix for T39537 wasn't complete, buttons in popups remained unset.

5 years agoFix T39567: simple deform modifier error
Campbell Barton [Thu, 3 Apr 2014 07:57:37 +0000 (18:57 +1100)]
Fix T39567: simple deform modifier error

5 years agoFix build for BSD (broken by own 35747ee3d547).
Bastien Montagne [Thu, 3 Apr 2014 07:20:04 +0000 (09:20 +0200)]
Fix build for BSD (broken by own 35747ee3d547).

Reported by Shane Ambler, thanks!

5 years agoFix T39245: Crash when dynamic topology is enabled
Campbell Barton [Thu, 3 Apr 2014 06:12:06 +0000 (17:12 +1100)]
Fix T39245: Crash when dynamic topology is enabled

Redundant decrement was crashing for systems which didnt optimize it out.

5 years agoCode cleanup: strict flags for bmesh_log
Campbell Barton [Thu, 3 Apr 2014 04:50:18 +0000 (15:50 +1100)]
Code cleanup: strict flags for bmesh_log

5 years agoFreestyle: Fix for debug information about sweep line intersection detection.
Tamito Kajiyama [Thu, 3 Apr 2014 05:58:14 +0000 (14:58 +0900)]
Freestyle: Fix for debug information about sweep line intersection detection.

Vertices of two edges were swapped by mistake.  Also fixed indentation and added
a couple of debug prints to make it easier to visualize the lines using Matlab.