6 years agoImplement asymmetric and free handles type for masks
Sergey Sharybin [Wed, 30 Oct 2013 09:38:45 +0000 (10:38 +0100)]
Implement asymmetric and free handles type for masks

The title actually says it all, it's just possible to
have independent free handles for mask splines. Also
it's now possible to have aligned handles displayed
as independent handles.

Required changes in quite a few places, but they're
rather straightforward.

From user perspective there's one really visible change
which is removed Handle Type menu from the panel. With
asymmetric handles it's not clear which handle type to
display there. So now the only way to change handle type
is via V-key menu.

Rewrote normal evaluation function to make it deal
with new type of handles we support. Now it works in
the following way:

- Offset the original spline by maximal weight
- Calculate vector between corresponding U positions
  on offset and original spline
- Normalize this vector.

Seems to be giving more adequate results and doesn't
tend to self-intersect as much as old behavior used to,

There're still some changes which needed to be done, but
which are planned for further patch:

- Support colors and handle size via themes.
- Make handles color-coded, just the same as done for
  regular bezier splines in 3D viewport.

Additional changes to make roto workflow even better:
- Use circles to draw handles
- Support AA for handles
- Change click-create-drag to change curvature of the
  spline instead of adjusting point position.

Reviewers: campbellbarton

CC: sebastian_k, hype, cronk
Differential Revision:

6 years agoFix T37599: Crash making linked objects local and undo
Sergey Sharybin [Wed, 26 Mar 2014 10:55:20 +0000 (16:55 +0600)]
Fix T37599: Crash making linked objects local and undo

Root of the issues comes to the fact that it's possible to produce
a situation when library object data uses local object. This is
actually forbidden and not supported by .blend IO.

Made it so Make Local wouldn't produce such an unsupported states.

Reviewers: brecht

Differential Revision:

6 years agoBevel Factor Mapping
Lukas Treyer [Fri, 28 Mar 2014 10:41:56 +0000 (16:41 +0600)]
Bevel Factor Mapping

Bevel Factor Mapping allows to control the relation between bevel factors
(number between 0 and 1) and the rendered start and end point of a beveled

There are three options: "Resolution", "Segments", "Spline". "Resolution"
option maps bevel factors as it was done < 2.71, "Spline" and "Segments"
are new.

* "Resolution“: Map the bevel factor to the number of subdivisions of a
  spline (U resolution).
* "Segments“: Map the bevel factor to the length of a segment and to the
  number of subdivisions of a segment.
* "Spline": Map the bevel factor to the length of a spline.

Reviewers: yakca, sergey, campbellbarton

CC: sanne
Differential Revision:

6 years agoFix T39288: Inset regression with extreme offset
Campbell Barton [Fri, 28 Mar 2014 10:35:01 +0000 (21:35 +1100)]
Fix T39288: Inset regression with extreme offset

6 years agoFix for inset bug (edge rail had feedback loop with direction)
Campbell Barton [Fri, 28 Mar 2014 10:30:22 +0000 (21:30 +1100)]
Fix for inset bug (edge rail had feedback loop with direction)

also disable edge-rail by default.

6 years agoFix T39410: Crashes when Saving HiRes .tif
Sergey Sharybin [Fri, 28 Mar 2014 09:21:49 +0000 (15:21 +0600)]
Fix T39410: Crashes when Saving HiRes .tif

6 years agoFix T39455: Nodes scaled wrong when some in a frame, some not.
Lukas Tönne [Fri, 28 Mar 2014 09:05:16 +0000 (10:05 +0100)]
Fix T39455: Nodes scaled wrong when some in a frame, some not.

Transform operators for nodes were not taking parent nodes (frames) into
account. Now use the nodeToView/nodeFromView functions to apply
transforms in local node space.

6 years agoUnbreak carve build for clang
Sergey Sharybin [Fri, 28 Mar 2014 08:41:04 +0000 (14:41 +0600)]
Unbreak carve build for clang

Based on D420

6 years agoFix T39472: Changing Sequencer color space repeatedly changes movie strip's display...
Sergey Sharybin [Fri, 28 Mar 2014 07:58:39 +0000 (13:58 +0600)]
Fix T39472: Changing Sequencer color space repeatedly changes movie strip's display gamma

Issue was caused by the old color space settings being lurking around
seq->anim after the changes in color space settings.

6 years agoBGE code cleanup: Removing an unused include in KX_Light.cpp
Mitchell Stokes [Fri, 28 Mar 2014 05:44:30 +0000 (22:44 -0700)]
BGE code cleanup: Removing an unused include in KX_Light.cpp

6 years agoBGE code cleanup: Removing OpenGL and bf_gpu code from KX_LightObject
Mitchell Stokes [Fri, 28 Mar 2014 05:32:06 +0000 (22:32 -0700)]
BGE code cleanup: Removing OpenGL and bf_gpu code from KX_LightObject

The ultimate goal is to only allow the rasterizer to handle OpenGL and bf_gpu
calls. This commit creates a RAS_ILightObject interface and a RAS_OpenGLLight

6 years agoView3D: replace RV3D_VIEW_PERSPORTHO with RV3D_VIEW_USER
Campbell Barton [Fri, 28 Mar 2014 04:54:18 +0000 (15:54 +1100)]

This is hardly used, and may be removed later (looks like quad view used by accident).

It could cause the 2d grid to draw with the view at an angle.

6 years agoBMesh: optimize quad_coord, avoid duplicate sqrt calls
Campbell Barton [Fri, 28 Mar 2014 04:16:15 +0000 (15:16 +1100)]
BMesh: optimize quad_coord, avoid duplicate sqrt calls

6 years agoCode cleanup: use len_v2v2_int for view zoom-scale
Campbell Barton [Fri, 28 Mar 2014 04:02:57 +0000 (15:02 +1100)]
Code cleanup: use len_v2v2_int for view zoom-scale

6 years agoCode cleanup: use sqrtf when input and output are float
Campbell Barton [Fri, 28 Mar 2014 03:53:37 +0000 (14:53 +1100)]
Code cleanup: use sqrtf when input and output are float

6 years agoRNA API: rename Sequence.elements.push() -> append()
Campbell Barton [Fri, 28 Mar 2014 01:11:52 +0000 (12:11 +1100)]
RNA API: rename Sequence.elements.push() -> append()

also for SpaceNodeEditorPath

6 years agoFix for curve smooth ignoring cyclic
Walid Shouman [Thu, 27 Mar 2014 22:21:01 +0000 (09:21 +1100)]
Fix for curve smooth ignoring cyclic

6 years agoFix T39452: Meshes without materials causes a memory leak in the game engine
Mitchell Stokes [Thu, 27 Mar 2014 20:46:22 +0000 (13:46 -0700)]
Fix T39452: Meshes without materials causes a memory leak in the game engine

These types of meshes do not use material caching, and thus only the first created
material would be saved, but subsequent ones were not. Those subsequent materials
were then not being freed. Now we make sure to track all of the materials.

Note: Meshes that cannot make use of material caching (no materials or using face textures)
can still use up a large amount of RAM since a material is created per face.

6 years agoAttempt to fix compilation error on release windows
Sergey Sharybin [Thu, 27 Mar 2014 13:14:20 +0000 (19:14 +0600)]
Attempt to fix compilation error on release windows

MSVC was yelling on me because of unused variable.

6 years agoMake blender compilable with FFmpeg-0.8.1
Sergey Sharybin [Thu, 27 Mar 2014 13:12:21 +0000 (19:12 +0600)]
Make blender compilable with FFmpeg-0.8.1

Needed for some own tests.

6 years agoWindows: Upgrade FFmpeg from 0.10 to 2.1.4
Sergey Sharybin [Thu, 27 Mar 2014 10:51:03 +0000 (16:51 +0600)]
Windows: Upgrade FFmpeg from 0.10 to 2.1.4

Fixes T39423: Blender crashes on iv41 encoded videos in thumbnail display mode

Libraries are still being committed to the svn, so compilation might be broken
for a while. Sorry for this, but can't really be avoided.

Also, some typos in scons are possible.

6 years agoFix T39435 paint overlay not always getting correctly refreshed.
Antony Riakiotakis [Thu, 27 Mar 2014 10:09:50 +0000 (12:09 +0200)]
Fix T39435 paint overlay not always getting correctly refreshed.

Initialize the nodetree first, like paint stroke does.

6 years agoFix T38928 Particle add brush would generate trash on meshes with use_modifier_stack...
Antony Riakiotakis [Wed, 26 Mar 2014 20:24:36 +0000 (22:24 +0200)]
Fix T38928 Particle add brush would generate trash on meshes with use_modifier_stack enabled

Issue here is complex (Of course, this is particles!)

First issue is that use_modifier_stack will use the num parameter of the
particles instead of num_dmcache, something the brush code did not
account for at all. Now correctly set DMCACHE_ISCHILD in that case.

Second issue is that make_derived_deform will return a mesh with less
indices than the particle system derived mesh. This would mean that
subsequent sampling of the particle derived mesh to initialize the
particles woould also produce garbage. This was being done for
optimization but in that case it broke the system.

Reviewers: lukastoenne

Differential Revision:

6 years agoCycles: Raise a proper error message when using Branched Path on sm_30, this is curre...
Thomas Dinges [Thu, 27 Mar 2014 09:29:22 +0000 (10:29 +0100)]
Cycles: Raise a proper error message when using Branched Path on sm_30, this is currently still disabled.

6 years agoUI: Fix more double ":" in UI labels
Sv. Lockal [Thu, 27 Mar 2014 03:15:08 +0000 (07:15 +0400)]
UI: Fix more double ":" in UI labels

6 years agoBMesh: let vert-connect make degenerate faces when only 2 verts selected
Campbell Barton [Thu, 27 Mar 2014 01:52:34 +0000 (12:52 +1100)]
BMesh: let vert-connect make degenerate faces when only 2 verts selected

6 years agoBMesh: optimize BM_face_legal_splits for concave faces
Campbell Barton [Thu, 27 Mar 2014 00:48:18 +0000 (11:48 +1100)]
BMesh: optimize BM_face_legal_splits for concave faces

6 years agoCycles: fix for building with cmake when gcc refuses sse args
Campbell Barton [Wed, 26 Mar 2014 23:15:36 +0000 (10:15 +1100)]
Cycles: fix for building with cmake when gcc refuses sse args

6 years agoUI: Dynamic paint labels had a double ":" at the end of some strings like "Vertex...
Thomas Beck [Wed, 26 Mar 2014 22:27:51 +0000 (23:27 +0100)]
UI: Dynamic paint labels had a double ":" at the end of some strings like "Vertex Group::"

6 years agoAttempt to fix T39412
Antony Riakiotakis [Wed, 26 Mar 2014 22:04:40 +0000 (00:04 +0200)]
Attempt to fix T39412

do not use different stroke property names for different paint systems.
This was done due to different stroke sets being supported for each
system, but this lead to trouble if we changed the names (due to
different stroke sets being supported) and users created custom keymaps
with the old property name saved.

The first part of this fix addresses master. A similar commit will be
done to soc-2013-paint.

6 years agoCMake: disable SSE flags if gcc/clang don't support
Campbell Barton [Wed, 26 Mar 2014 21:28:59 +0000 (08:28 +1100)]
CMake: disable SSE flags if gcc/clang don't support

6 years agoCode cleanup: use consistent arg order for math api poly funcs
Campbell Barton [Wed, 26 Mar 2014 20:31:21 +0000 (07:31 +1100)]
Code cleanup: use consistent arg order for math api poly funcs

6 years agoCTest: disable, fun for finding crashes, takes a long time
Campbell Barton [Wed, 26 Mar 2014 20:30:22 +0000 (07:30 +1100)]
CTest: disable, fun for finding crashes, takes a long time

6 years agoT39307: The fast gaussian blur is not an accurate formula. When deciding
Jeroen Bakker [Wed, 26 Mar 2014 20:08:58 +0000 (21:08 +0100)]
T39307: The fast gaussian blur is not an accurate formula. When deciding
which tiles are selected for input there was always a constant for correcting
the accuracy.

It seems that the constant was not enough and has been adjusted. (2 => 3).

6 years agoFix T39424: VSE: Bake Sound to Curve CRASHES Blender
Bastien Montagne [Wed, 26 Mar 2014 19:01:09 +0000 (20:01 +0100)]
Fix T39424: VSE: Bake Sound to Curve CRASHES Blender

BKE_sequencer_offset_animdata() was simply assuming bezt member of fcurve was always valid, while it might be NULL (e.g. when fcurve is using FPoints instead, like when generated from sound file).

6 years agoFix T39432: yet another particle bug caused by inconsistent num_dmcache
Lukas Tönne [Wed, 26 Mar 2014 17:34:07 +0000 (18:34 +0100)]
Fix T39432: yet another particle bug caused by inconsistent num_dmcache

6 years agoFix for build error in Cycles standalone caused by new DeviceDrawParams
Lukas Tönne [Wed, 26 Mar 2014 17:11:16 +0000 (18:11 +0100)]
Fix for build error in Cycles standalone caused by new DeviceDrawParams
added in rB74518b28267e9b18199212fbaa3c689fa018d20c.

No special bind/unbind needed for standalone viewer, so can just use a
static stub in the display callback.

6 years agoFix T39419: Crash when solving camera motion
Sergey Sharybin [Wed, 26 Mar 2014 11:47:13 +0000 (17:47 +0600)]
Fix T39419: Crash when solving camera motion

Stupid vector initialization error.

Should be in 'a'.

6 years agoFix T39420: Cycles viewport/preview flickers, when moving mouse across editors
Sergey Sharybin [Wed, 26 Mar 2014 08:57:30 +0000 (14:57 +0600)]
Fix T39420: Cycles viewport/preview flickers, when moving mouse across editors

Issue was caused by the wrong usage of OCIO GLSL binding API. To make it
work properly on pre-GLSL-1.3 drivers shader is to be enabled after the
texture is binded to the opengl context. Otherwise it wouldn't know the
proper texture size.

This is actually a regression in 2.70 and to be ported to 'a'.

6 years agoFix T39279: Vertex paint fails with mirror modifier
Campbell Barton [Wed, 26 Mar 2014 02:56:07 +0000 (13:56 +1100)]
Fix T39279: Vertex paint fails with mirror modifier

6 years agoNew resolve_tri_uv_v3 util function
Dalai Felinto [Wed, 26 Mar 2014 00:57:34 +0000 (21:57 -0300)]
New resolve_tri_uv_v3 util function

Compute barycentric coordinates (u, v) for a point with respect to a

This is needed for Cycles baking but we decided to push this
independently of the upcoming main baking changes.

Code adapted from Christer Ericson's Real-Time Collision Detection.

Cleanup, refactoring and review from Campbell Barton.

6 years agoCode cleanup: add _v2 suffix to resolve_tri/quad functions
Campbell Barton [Wed, 26 Mar 2014 00:15:21 +0000 (11:15 +1100)]
Code cleanup: add _v2 suffix to resolve_tri/quad functions

6 years agorevert 0da3e97, fix for T39279
Campbell Barton [Tue, 25 Mar 2014 22:34:01 +0000 (09:34 +1100)]
revert 0da3e97, fix for T39279

Following problems:
- painting onto a cube asserts immediately (vpaint/wpaint)
- crashes with valgrind (bad memory use)
- the original intended behavior of vertex projection paint no longer works as I intended.
  (its constantly refreshing geometry even when no modifiers are applied).

Best get code review for these kinds of changes.

6 years agoCode cleanup: remove unused flags
Campbell Barton [Tue, 25 Mar 2014 20:57:13 +0000 (07:57 +1100)]
Code cleanup: remove unused flags

6 years agoCode cleanup: style and warnings
Campbell Barton [Tue, 25 Mar 2014 20:48:51 +0000 (07:48 +1100)]
Code cleanup: style and warnings

6 years agoFollow Blender slangs! ;)
Bastien Montagne [Tue, 25 Mar 2014 20:16:28 +0000 (21:16 +0100)]
Follow Blender slangs! ;)

6 years agoCMake: only nag about requests py module once
Campbell Barton [Tue, 25 Mar 2014 20:02:42 +0000 (07:02 +1100)]
CMake: only nag about requests py module once

6 years agoZoom to mouse position didn't work in MCE when locked to a selection
Sergey Sharybin [Tue, 25 Mar 2014 15:58:45 +0000 (21:58 +0600)]
Zoom to mouse position didn't work in MCE when locked to a selection

6 years agoFix T39319: Particle System Bug on Cycles Render.
Lukas Tönne [Tue, 25 Mar 2014 11:33:07 +0000 (12:33 +0100)]
Fix T39319: Particle System Bug on Cycles Render.

Crashes due to bad dm face calculation in particle RNA/cycles hair.
This stuff is a total mess, but this kind of check is used in other
places and prevents crashing at least.

6 years agoCorrection to the previous commit
Sergey Sharybin [Tue, 25 Mar 2014 10:22:47 +0000 (16:22 +0600)]
Correction to the previous commit

6 years agoFix T38870: Freezes when jumping in front of a keyframe.
Sergey Sharybin [Tue, 25 Mar 2014 10:05:28 +0000 (16:05 +0600)]
Fix T38870: Freezes when jumping in front of a keyframe.

Issue was caused by inverting a degenerate matrix when
evaluating drivers.

Solved by using tweaked inverse code (same as used in Cycles).

Should have no affect on cases when matrix is not degenerate.

6 years agoEditmode drawing: avoid glBegin/End for every tri (emDM_drawMappedFacesMat,GLSL)
Campbell Barton [Tue, 25 Mar 2014 09:11:54 +0000 (20:11 +1100)]
Editmode drawing: avoid glBegin/End for every tri (emDM_drawMappedFacesMat,GLSL)

6 years agoCode cleanup: editmode opengl drawing
Campbell Barton [Tue, 25 Mar 2014 08:56:51 +0000 (19:56 +1100)]
Code cleanup: editmode opengl drawing

6 years agoFollowup to Ceres changes -- need to update bundling script
Sergey Sharybin [Tue, 25 Mar 2014 09:07:19 +0000 (15:07 +0600)]
Followup to Ceres changes -- need to update bundling script

6 years agoFix for own commit: mixed up ceres build defines when replacing cmake
Lukas Tönne [Tue, 25 Mar 2014 08:49:39 +0000 (09:49 +0100)]
Fix for own commit: mixed up ceres build defines when replacing cmake
check with a generalized macro.


6 years agoBuild file macro for testing unordered_map C++ container support.
Lukas Tönne [Tue, 25 Mar 2014 08:21:30 +0000 (09:21 +0100)]
Build file macro for testing unordered_map C++ container support.

Using unordered_map and unordered_set C++ container types currently
requires careful testing or usage of boost, due to the various confusing
C++ version differences in include paths and namespaces.

Libmv defines tests for these cases in cmake and scons, such that ceres
can use any available implementation, or fall back too std::map/std::set
if none can be found.

This patch generalizes this buildfile code by providing a Blender macro.
* cmake: defines both the variables used by libmv at them moment as well
which can later be used in other C++ parts for convenience.
* scons: adds a tool script returning the include prefix and namespace.
Libmv checks these to define the appropriate definitions for ceres.

Differential Revision:

6 years agoFix T39395: Switching to "Textured solid" and "GLSL" view will cause the FPS drop...
Sergey Sharybin [Tue, 25 Mar 2014 06:30:41 +0000 (12:30 +0600)]
Fix T39395: Switching to "Textured solid" and "GLSL" view will cause the FPS drop to 0

Issue was caused by the cache limitor which was removing 4k textures from the
memory when accessing other images.

This is pretty much awful situation and solved by making it so only image sequences
and movies ace cache-guarded.

Could be optimized further so images used by viewport are not being freed, but
that's much more tricky to do..

This is a nice candidature for 'a'.

6 years agoFix T39397: Leaving leaving camera from quadview set ortho
Campbell Barton [Tue, 25 Mar 2014 03:21:50 +0000 (14:21 +1100)]
Fix T39397: Leaving leaving camera from quadview set ortho

6 years agoCode cleanup: Removing KX_KetsjiEngine::m_drawingmode
Mitchell Stokes [Tue, 25 Mar 2014 03:11:11 +0000 (20:11 -0700)]
Code cleanup: Removing KX_KetsjiEngine::m_drawingmode

The rasterizer is already handling this, and there is
no need to duplicate the data.

6 years agoFix T38929: BGE: Strange behaving from addObject after trying to add an nonexisting...
Mitchell Stokes [Tue, 25 Mar 2014 00:57:02 +0000 (17:57 -0700)]
Fix T38929: BGE: Strange behaving from addObject after trying to add an nonexisting overlay scene

If bge.logic.addScene() could not find the scene to add it would add the
first scene again, which is just silly. Now, if no scene is found, a warning
is printed and nothing is added.

6 years agoAdd a slight shadow to the radial operator text. It helps when brush
Antony Riakiotakis [Mon, 24 Mar 2014 23:24:40 +0000 (01:24 +0200)]
Add a slight shadow to the radial operator text. It helps when brush
color is close to the cursor color.

6 years agoCode cleanup: function calls
Campbell Barton [Mon, 24 Mar 2014 23:10:00 +0000 (10:10 +1100)]
Code cleanup: function calls

6 years agoCode cleanup: rename easing functions with BLI_easing_ prefix
Campbell Barton [Mon, 24 Mar 2014 22:57:37 +0000 (09:57 +1100)]
Code cleanup: rename easing functions with BLI_easing_ prefix

6 years agoCode cleanup: rename BLI_math_easing to BLI_easing
Campbell Barton [Mon, 24 Mar 2014 21:00:51 +0000 (08:00 +1100)]
Code cleanup: rename BLI_math_easing to BLI_easing

Many hard coded values and really specific to time & keyframes.

6 years agoCode cleanup:
Antony Riakiotakis [Mon, 24 Mar 2014 21:46:30 +0000 (23:46 +0200)]
Code cleanup:

* Separate some common code for sculpt raycasting
* Cleanup to radial operator commit

6 years agoUI naming:
Antony Riakiotakis [Mon, 24 Mar 2014 21:17:01 +0000 (23:17 +0200)]
UI naming:

Change topology panel labels to "dyntopo"

6 years agoCode cleanup: ifdef debug only checks and simplify manifold test
Campbell Barton [Mon, 24 Mar 2014 20:52:22 +0000 (07:52 +1100)]
Code cleanup: ifdef debug only checks and simplify manifold test

6 years agoFix T39262: Regression in 2.70, wire-frame editmode tool replaced all
Campbell Barton [Mon, 24 Mar 2014 20:49:55 +0000 (07:49 +1100)]
Fix T39262: Regression in 2.70, wire-frame editmode tool replaced all

6 years agoFix possible use of invalid face index with wireframe tool
Campbell Barton [Mon, 24 Mar 2014 10:04:13 +0000 (21:04 +1100)]
Fix possible use of invalid face index with wireframe tool

6 years agoImprovements to radial control operator:
Antony Riakiotakis [Mon, 24 Mar 2014 20:50:02 +0000 (22:50 +0200)]
Improvements to radial control operator:

* Factor values get a minimum circle too, which denotes the maximum
value. This makes it easy to set the maximum value while previously
maximum was at center, much more difficult to set exactly.

* Added text indication of value at center of the widget.

6 years agoFix for own mistake in rB83f2012300acadafd359307e7a00bd71e67e3fd7: used
Lukas Tönne [Mon, 24 Mar 2014 19:54:50 +0000 (20:54 +0100)]
Fix for own mistake in rB83f2012300acadafd359307e7a00bd71e67e3fd7: used
bool instead of int.

Thanks to Campbell Barton for noticing.

6 years agoFix T39392: Python bindings for geometry.box_pack_2d() return invalid total height
Bastien Montagne [Mon, 24 Mar 2014 16:39:17 +0000 (17:39 +0100)]
Fix T39392: Python bindings for geometry.box_pack_2d() return invalid total height

6 years agoOSX/sculpt/omp: missing initialisation of size_t pcount_len, oddly worked fine withou...
Jens Verwiebe [Mon, 24 Mar 2014 12:33:07 +0000 (13:33 +0100)]
OSX/sculpt/omp: missing initialisation of size_t pcount_len, oddly worked fine without on OSX 10.9, fixes < 10.9

6 years agoFix T39341: Cycles Rendered view laggy while using particles.
Lukas Tönne [Mon, 24 Mar 2014 11:53:36 +0000 (12:53 +0100)]
Fix T39341: Cycles Rendered view laggy while using particles.

There are a couple of bugs that come together here:
* Particle hacks: extra modifier stack evaluation just for particles in
rna_Object_create_duplilist. This is where the primary issue stems from,
the "for_render" setting replaced the G.is_rendering flag in threaded
depsgraph. This causes particles to recalculate the entire modifier
stack with _render_ settings instead of viewport settings now. Fixed by
taking the 'preview' parameter in Cycles into account.
* Buggy skin modifier: The skin modifier generates a different amount of
vertices and faces **on every execution**. This must be looked at
separately, but it could be another reason why cycles constantly
restarted the sync process.
* Particles get re-distributed randomly every time (changing seed). This
could be caused just by the broken skin modifier, but might still be an
issue when simply rendering with cycles, since the psys will be
evaluated for render settings, if just temporarily.

6 years agoFix T39383: Blender crash when renaming bone in outliner (weight paint mode).
Bastien Montagne [Mon, 24 Mar 2014 12:08:29 +0000 (13:08 +0100)]
Fix T39383: Blender crash when renaming bone in outliner (weight paint mode).

Outliner rename callback is supposed to activate affected element before actually renaming,
but for bones this was not working because the function used to activate the object explicitely
ignored ID_OB case! Added a bool flag to allow handing this case without (possibly) breaking
the other usecases.

6 years agoRemove the code which checked whether early object update skip didn't fail
Sergey Sharybin [Mon, 24 Mar 2014 09:15:43 +0000 (15:15 +0600)]
Remove the code which checked whether early object update skip didn't fail

Was a safety check which never triggered, so likely could be removed now.

6 years agoFix T39318: Blender 2.70 crash when I link an asset
Sergey Sharybin [Mon, 24 Mar 2014 09:10:16 +0000 (15:10 +0600)]
Fix T39318: Blender 2.70 crash when I link an asset

Issue is a regression since threaded objetc update and caused
by the fact that some objects might share the same proxy object.

It's all fine but object_handle_update() will call update for
a proxy object which screws up threaded update.

The thing is, proxy object is marked as depending on a scene
object and such a call makes it so the children objetc is
being updated.

This is really bad and depsgraph is to take all responsibility
on updating the proxy objects.

So for now used a simple solution (which is safe to backport
to 'a') which is skipping proxy update if the scene update is
threaded and based on the DAG traversal.

There are some still areas which calls object update directly
and for that cases proxy object is still being updated from

6 years agoFix T39331: Dissolve vertex crash
Campbell Barton [Mon, 24 Mar 2014 05:37:10 +0000 (16:37 +1100)]
Fix T39331: Dissolve vertex crash

6 years agoCode cleanup: float/double promotion
Campbell Barton [Mon, 24 Mar 2014 02:31:14 +0000 (13:31 +1100)]
Code cleanup: float/double promotion

6 years agoCode Cleanup: PBVH, avoid sqrt and use bool for raycast functions
Campbell Barton [Mon, 24 Mar 2014 02:21:58 +0000 (13:21 +1100)]
Code Cleanup: PBVH, avoid sqrt and use bool for raycast functions

6 years agoCode cleanup: style
Campbell Barton [Mon, 24 Mar 2014 01:59:36 +0000 (12:59 +1100)]
Code cleanup: style

6 years agoFix for invalid abs() use (from daccaa7)
Campbell Barton [Mon, 24 Mar 2014 01:57:18 +0000 (12:57 +1100)]
Fix for invalid abs() use (from daccaa7)

6 years agoChange to sampling: Take biggest triangle side as detail size on
Antony Riakiotakis [Sun, 23 Mar 2014 19:49:01 +0000 (21:49 +0200)]
Change to sampling: Take biggest triangle side as detail size on
intersection, since detail determines the maximum allowed triangle edge

6 years agoFix T39356: unsatisfied with uv pin unpin button, small bug
Bastien Montagne [Sun, 23 Mar 2014 13:30:10 +0000 (14:30 +0100)]
Fix T39356: unsatisfied with uv pin unpin button, small bug

6 years agoFix typo in API documentation.
Thomas Dinges [Sun, 23 Mar 2014 11:31:08 +0000 (12:31 +0100)]
Fix typo in API documentation.

6 years agoCycles Standalone: XML Updates for Branched Path Multi Light.
Thomas Dinges [Sun, 23 Mar 2014 11:29:30 +0000 (12:29 +0100)]
Cycles Standalone: XML Updates for Branched Path Multi Light.

6 years agoCode cleanup: Move AA Samples variable, this is not exclusive to Branched Path.
Thomas Dinges [Sun, 23 Mar 2014 11:12:59 +0000 (12:12 +0100)]
Code cleanup: Move AA Samples variable, this is not exclusive to Branched Path.

6 years agoFix T39351: Blender crashes when enabling Mesh Analysis.
Lukas Tönne [Sun, 23 Mar 2014 10:35:52 +0000 (11:35 +0100)]
Fix T39351: Blender crashes when enabling Mesh Analysis.

This code was using a //const// char array for fallback colors and then
writing to it (hidden to the compiler by explicit casting). Bad!

6 years agoFix T39353: Make Single User menu entries do not work correctly.
Bastien Montagne [Sun, 23 Mar 2014 10:33:40 +0000 (11:33 +0100)]
Fix T39353: Make Single User menu entries do not work correctly.

6 years agoFix T39347: Pressing backspace during empty number input for translation results...
Bastien Montagne [Sun, 23 Mar 2014 09:48:47 +0000 (10:48 +0100)]
Fix T39347: Pressing backspace during empty number input for translation results in 0.5828 increments

Interesting one, took me hours to understand the issue - a stupid typo checking the wrong value against the wrong flag (present since 2008!).

6 years agoFurther tweaking to numinput - enhance 'Reset' behavior.
Bastien Montagne [Sat, 22 Mar 2014 22:20:14 +0000 (23:20 +0100)]
Further tweaking to numinput - enhance 'Reset' behavior.

Ways how it was resetting its values (backspace) was far from satisfaying. Now, e.g. when scaling, it will reset at 1 (or whatever mouse-value it was before entering numinput), instead of some ugly 0.0 value.

Implementation details:
* Values passed to applyNumInput() are stored as default ones (val_org), if it is not EDITED.
* applyNumInput() returns a boolean saying whether it actually set values or not.
* When backspace hits its ultimate step (where it clears all EDITED flags and reset all default values),
  it sets a temp FAKE_EDITED flag that will be used to apply one last time values of numinput
  (so that default values actually get applied!).

There are important things to note here for code using numinput:
* Values passed to applyNumInput() should be valid and are stored as default ones (val_org), if it is not EDITED.
* bool returned by applyNumInput should be used to decide whether to apply numinput-specific post-process to data.
* *Once applyNumInput has been called*, hasNumInput returns a valid value to decide whether to use numinput as drawstr source or not.

Those two steps have to be separated (so do not use a common call to hasNumInput() to do both in the same time!).

6 years agoUse eyeliner cursor for sampling. Thanks to Thomas Beck for the
Antony Riakiotakis [Sat, 22 Mar 2014 22:33:55 +0000 (00:33 +0200)]
Use eyeliner cursor for sampling. Thanks to Thomas Beck for the
suggestion :)

6 years agoSlight cosmetic improvement on UI. Add eyedropper icon to detail sample
Antony Riakiotakis [Sat, 22 Mar 2014 22:01:46 +0000 (00:01 +0200)]
Slight cosmetic improvement on UI. Add eyedropper icon to detail sample
operator and move it next to the detail slider

6 years agoDetail sampling operator
Antony Riakiotakis [Sat, 22 Mar 2014 21:35:07 +0000 (23:35 +0200)]
Detail sampling operator

Located on topology panel.

To use just click on button and click on mesh.
Operator will just use the dimensions of the triangles below to set the
constant detail setting.

Also changed pair of scale/detail size with nice separate float
percentage value.

6 years agoCycles: SSE optimization for line segments/ribbons hair
Sv. Lockal [Sat, 22 Mar 2014 20:45:48 +0000 (00:45 +0400)]
Cycles: SSE optimization for line segments/ribbons hair

Gives ~11% speedup for hair.blend, ~10% for koro_final.blend

Also extract few common subexpressions in hair calculation.

Reviewed By: brecht

Differential Revision:

6 years agoFlood fill for dyntopo constant detail mode.
Antony Riakiotakis [Sat, 22 Mar 2014 15:47:18 +0000 (17:47 +0200)]
Flood fill for dyntopo constant detail mode.

Nothing spectacular here, fill tools are easy. Just take the dyntopo
code and repeat until nothing more to do.

The tool can be located in the dyntopo panel when the dyntopo constant
detail is on.

Also added scale factor for constant detail. This may change when detail
sampling gets in, I am not very happy with having two numbers here,
still it will give some more control for now.

6 years agoWarning cleanup:
Antony Riakiotakis [Sat, 22 Mar 2014 12:41:38 +0000 (14:41 +0200)]
Warning cleanup:

* Comparison in utf detection code always failed
* Cast to integer to silence grumpy 64bit gcc

6 years agoCleanup: Restrict the debug -gline-tables-only to cxx_debug in cycles and spelling
Jens Verwiebe [Sat, 22 Mar 2014 10:33:21 +0000 (11:33 +0100)]
Cleanup: Restrict the debug -gline-tables-only to cxx_debug in cycles and spelling

6 years agoA few spelling fixes
Joshua Leung [Sat, 22 Mar 2014 03:57:57 +0000 (16:57 +1300)]
A few spelling fixes

6 years agoMore driver linting messages - procedural animation and no-variables for average...
Joshua Leung [Sat, 22 Mar 2014 03:56:17 +0000 (16:56 +1300)]
More driver linting messages - procedural animation and no-variables for average,etc.

Inspired by T39315, this commit adds a few more driver "linting" messages used for
providing users with tips on how to use drivers better. This time, we specifically
address 2 cases:

1) Drivers being abused for procedural animation, due to the misconception that
   procedurally generating F-Curves using F-Modifiers means that drivers are needed
   to wire such procedural motion-sources to properties.
2) Setting up Average/Sum/Min/Max driver types without any input variables - you can't
   expect anything to happen (unless of course, your intention was to lock the property
   to 0.0)