4 months agoCleanup: replace comments with meaningful variable names
Campbell Barton [Wed, 17 Apr 2019 07:05:56 +0000 (09:05 +0200)]
Cleanup: replace comments with meaningful variable names

4 months agoClangFormat: adjust '#if 0' to fix gpu_buffers.c indent
Campbell Barton [Wed, 17 Apr 2019 06:56:59 +0000 (08:56 +0200)]
ClangFormat: adjust '#if 0' to fix gpu_buffers.c indent

4 months agoClangFormat: format '#if 0' code
Campbell Barton [Wed, 17 Apr 2019 06:50:46 +0000 (08:50 +0200)]
ClangFormat: format '#if 0' code

Previous cleanups didn't account for space after '#'.

4 months agoCleanup: comment length in transform
Campbell Barton [Wed, 17 Apr 2019 06:44:58 +0000 (08:44 +0200)]
Cleanup: comment length in transform

4 months agoCleanup: comment length in interface
Campbell Barton [Wed, 17 Apr 2019 06:44:38 +0000 (08:44 +0200)]
Cleanup: comment length in interface

4 months agoClangFormat: format '#if 0' code in source/
Campbell Barton [Wed, 17 Apr 2019 06:24:14 +0000 (08:24 +0200)]
ClangFormat: format '#if 0' code in source/

4 months agoClangFormat: format '#if 0' code in intern/
Campbell Barton [Wed, 17 Apr 2019 06:16:53 +0000 (08:16 +0200)]
ClangFormat: format '#if 0' code in intern/

4 months agoCleanup: use 2 space indentation for CMake
Campbell Barton [Wed, 17 Apr 2019 04:35:54 +0000 (06:35 +0200)]
Cleanup: use 2 space indentation for CMake

4 months agoClangFormat: manually format sobol.cpp
Campbell Barton [Wed, 17 Apr 2019 04:34:20 +0000 (06:34 +0200)]
ClangFormat: manually format sobol.cpp

Disabled because it uses a lot of memory and is mostly data.

4 months agoClangFormat: apply to source, most of intern
Campbell Barton [Wed, 17 Apr 2019 04:17:24 +0000 (06:17 +0200)]
ClangFormat: apply to source, most of intern

Apply clang format as proposed in T53211.

For details on usage and instructions for migrating branches
without conflicts, see:

4 months agoeditorconfig: update for new clang-format config
Campbell Barton [Wed, 17 Apr 2019 04:12:55 +0000 (06:12 +0200)]
editorconfig: update for new clang-format config

4 months agoClangFormat: add configuration files
Campbell Barton [Wed, 17 Apr 2019 04:09:59 +0000 (06:09 +0200)]
ClangFormat: add configuration files

Prepare for applying clang-format, see: T53211

4 months agoCleanup: use 2 space indentation for shell scripts
Campbell Barton [Wed, 17 Apr 2019 04:08:01 +0000 (06:08 +0200)]
Cleanup: use 2 space indentation for shell scripts

Already used by

4 months agoClangFormat: disable for most of sobol.cpp
Campbell Barton [Wed, 17 Apr 2019 04:00:20 +0000 (06:00 +0200)]
ClangFormat: disable for most of sobol.cpp

4 months agoIndustry Compat keymap: Fix loop selection
William Reynish [Tue, 16 Apr 2019 20:13:25 +0000 (22:13 +0200)]
Industry Compat keymap: Fix loop selection

- Extending loops wasn't working correctly. This is now fixed.
- Also added ability to deselect loops by holding Ctrl and double-clicking

4 months agoSelecing a pose bone in outliner deselect others
Dalai Felinto [Tue, 16 Apr 2019 19:09:59 +0000 (16:09 -0300)]
Selecing a pose bone in outliner deselect others

This mimics what is now the behaviour for edit bones as well.
See e6151bc4c1f2.

And it also matches what we do in the viewport when selecting bones.

4 months agoFix T63066: Outliner crash when selecting object being in armature editmode
Dalai Felinto [Tue, 16 Apr 2019 18:35:08 +0000 (15:35 -0300)]
Fix T63066: Outliner crash when selecting object being in armature editmode

While fixing it, also reproducing multi-object selection logic we have
in the viewport. If you select one bone from an armature, it deselects all
bones from the other armatures currently in edit mode.

Inspired by proposed fix by Philipp Oeser (lichtwerk).

Code explanation

CTX_data_edit_object(C) may be NULL here. In the few cases where it is
not we use it for the notifier (in the other cases we call the notifier
with NULL, so no harm done).

This code is called during outliner drawing, and it is called, for
instance every time you mouse hover a bone.

If you have a mesh object in edit mode and mouse hover the bones of an armature
it is plain obvious we can't rely on CTX_data_edit_object() for anything
armature related. And that the original assert was asking for troubles.

4 months agoCleanup: avoid adjacent C-style comments
Campbell Barton [Tue, 16 Apr 2019 15:55:11 +0000 (17:55 +0200)]
Cleanup: avoid adjacent C-style comments

Causes clang-format to give different results on a second run.

4 months agoCleanup: avoid adjacent C-style comments
Campbell Barton [Tue, 16 Apr 2019 15:48:22 +0000 (17:48 +0200)]
Cleanup: avoid adjacent C-style comments

Causes clang-format to give different results on a second run.

4 months agoSpline IK: support changing individual bone length via Y scaling.
Alexander Gavrilov [Mon, 15 Apr 2019 17:25:41 +0000 (20:25 +0300)]
Spline IK: support changing individual bone length via Y scaling.

Previously Spline IK provided only two choices: either scale the
length of the bone chain to fit the length of the curve, or don't
scale the bone in the Y dimension at all (ignoring effects of
actually fitting to the curve due to curvature and curve object

This patch adds a new option to use the pre-IK Y scale of the
bones to adjust their length when fitted to the curve, allowing
individual posing control over the length of the segments.

Reviewers: brecht

Differential Revision:

4 months agoCleanup: simplify comments
Campbell Barton [Tue, 16 Apr 2019 15:37:04 +0000 (17:37 +0200)]
Cleanup: simplify comments

clang-format reformatted when running a second time.

4 months agoClang-format: Speed up detection of clang-format
Sergey Sharybin [Tue, 16 Apr 2019 15:05:31 +0000 (17:05 +0200)]
Clang-format: Speed up detection of clang-format

Don't construct the full build environment, following
feedback from Ray.

4 months agoClangFormat: add comments to ignore formatting
Campbell Barton [Tue, 16 Apr 2019 15:02:52 +0000 (17:02 +0200)]
ClangFormat: add comments to ignore formatting

4 months agoFix T63312: Crash XRay + clipping
Jeroen Bakker [Mon, 8 Apr 2019 06:12:45 +0000 (08:12 +0200)]
Fix T63312: Crash XRay + clipping

Outline shaders were only selected when no checker depth was available.

Reviewed By: fclem

Maniphest Tasks: T63312

Differential Revision:

4 months agoClangFormat: add comments to ignore formatting
Campbell Barton [Tue, 16 Apr 2019 14:53:50 +0000 (16:53 +0200)]
ClangFormat: add comments to ignore formatting

4 months agoFix BLI_path test of BLI_path_frame_strip.
Bastien Montagne [Tue, 16 Apr 2019 14:49:55 +0000 (16:49 +0200)]
Fix BLI_path test of BLI_path_frame_strip.

Ensure that returned string buffer is always properly initialized with
NULL char...

4 months agoGNUmakefile: move clang format utility
Campbell Barton [Tue, 16 Apr 2019 14:47:05 +0000 (16:47 +0200)]
GNUmakefile: move clang format utility

Makes more sense to place in 'utils_maintenance'.

4 months agoCleanup: trailing commas
Campbell Barton [Tue, 16 Apr 2019 14:40:47 +0000 (16:40 +0200)]
Cleanup: trailing commas

4 months agoCleanup: use keyword only args to rna_idprop_ui_create
Campbell Barton [Tue, 16 Apr 2019 14:00:24 +0000 (16:00 +0200)]
Cleanup: use keyword only args to rna_idprop_ui_create

4 months agoPython: add a utility function for creating custom properties.
Alexander Gavrilov [Sat, 30 Mar 2019 09:53:39 +0000 (12:53 +0300)]
Python: add a utility function for creating custom properties.

Creating a fully functional custom property requires also setting up
its limits, description, default value and static override status.
It is complex enough to warrant providing an official utility.

Currently boolean properties are technically int, but the utility
pretends they are separate in case that eventually they are.

Reviewers: campbellbarton

Differential Revision:

4 months agoGNUmakefile: add 'make format'
Campbell Barton [Tue, 16 Apr 2019 13:42:54 +0000 (15:42 +0200)]
GNUmakefile: add 'make format'

Convenience access to utility.

4 months agoInitial support of `make format` for Windows
Sergey Sharybin [Tue, 16 Apr 2019 13:34:32 +0000 (15:34 +0200)]
Initial support of `make format` for Windows

There are couple of caviats currently:

- The script requires system-wide Python 3 available in the current
  search PATH as python.exe.

  This will get addressed soon by distributing unpacked Python binary
  in our libraries.

- Since the libraries folder is to be known, this requires to have
  MSVC detected. Not too bad, since formatting is still way slower
  than detection, but still doesn't feel ideal.

4 months agoFix tool system Python errors if there is no active object.
Brecht Van Lommel [Tue, 16 Apr 2019 10:18:28 +0000 (12:18 +0200)]
Fix tool system Python errors if there is no active object.

4 months agoFix T63641: transform snap invert keymap item has an effect when disabled.
Brecht Van Lommel [Tue, 16 Apr 2019 09:38:50 +0000 (11:38 +0200)]
Fix T63641: transform snap invert keymap item has an effect when disabled.

4 months agoFix T63617: Bone groups (de)select operators not immediately refreshing
Philipp Oeser [Tue, 16 Apr 2019 10:15:01 +0000 (12:15 +0200)]
Fix T63617: Bone groups (de)select operators not immediately refreshing

was missing DEG updates

Reviewers: brecht

Maniphest Tasks: T63617

Differential Revision:

4 months agoFix T63204: Toggle collection visibility with shift
Dalai Felinto [Tue, 16 Apr 2019 12:52:02 +0000 (09:52 -0300)]
Fix T63204: Toggle collection visibility with shift

Shift was always turning the collection visible. It now toggles, similar
to what we had in 2.79.

4 months agoCMake: fix building WITH_CYCLES_LOGGING=ON
Campbell Barton [Tue, 16 Apr 2019 12:56:17 +0000 (14:56 +0200)]
CMake: fix building WITH_CYCLES_LOGGING=ON

4 months agoUI: Move Collection Visibility popover from 3D View header into the Sidebar
William Reynish [Tue, 16 Apr 2019 12:52:44 +0000 (14:52 +0200)]
UI: Move Collection Visibility popover from 3D View header into the Sidebar

It's more practical to use this from the Sidebar, and takes away one item from the crowded header.

See T63527

4 months agoFix broken build when using system Glew on linux.
Bastien Montagne [Tue, 16 Apr 2019 12:43:56 +0000 (14:43 +0200)]
Fix broken build when using system Glew on linux.

4 months agoUI: Refactor View2D number drawing
Jacques Lucke [Tue, 16 Apr 2019 12:15:49 +0000 (14:15 +0200)]
UI: Refactor View2D number drawing

This also fixes alignment issues in many editors.
E.g. the frame numbers were badly aligned to the grid lines
in the timeline.

Checkout the images in D4681 for more examples.

Reviewers: brecht

Differential Revision:

4 months agoCMake: fix building without libmv
Campbell Barton [Tue, 16 Apr 2019 12:10:38 +0000 (14:10 +0200)]
CMake: fix building without libmv

4 months agoFix T63619: Fill Tool is misaligned when 'Gradient' is enabled
Philipp Oeser [Tue, 16 Apr 2019 11:36:44 +0000 (13:36 +0200)]
Fix T63619: Fill Tool is misaligned when 'Gradient' is enabled

Reviewers: brecht

Maniphest Tasks: T63619

Differential Revision:

4 months agoCMake: fix linking with gtest & cycles enabled
Campbell Barton [Tue, 16 Apr 2019 11:57:03 +0000 (13:57 +0200)]
CMake: fix linking with gtest & cycles enabled

4 months agoFix T63429: Random deselect function lost
Sebastian Parborg [Tue, 16 Apr 2019 11:12:28 +0000 (13:12 +0200)]
Fix T63429: Random deselect function lost

Add back the ability to choose the select operation for random select.
Now we allow the operator to specify if the select operation should be
visible in the GUI or not.

Reviewed By: Brecht

Differential Revision:

4 months agoGPencil: New Normalize All operator
Antonioya [Tue, 16 Apr 2019 10:12:35 +0000 (12:12 +0200)]
GPencil: New Normalize All operator

This operator works similar to mesh operator but for Stroke and Points data.

Also minor cleanup in Normalize operator.

4 months agoGPencil: Add lock icon to Vertex Groups list
Antonioya [Tue, 16 Apr 2019 09:27:36 +0000 (11:27 +0200)]
GPencil: Add lock icon to Vertex Groups list

Also check this flag in operators.

Note: This is required for the development of the new Normalize All operator.

4 months agoGPencil: New Normalize Weights operator
Antonioya [Tue, 16 Apr 2019 08:47:30 +0000 (10:47 +0200)]
GPencil: New Normalize Weights operator

This works similar to mesh operator, but using Stroke and Points data.

4 months agoCMake: remove BLENDER_SORTED_LIBS
Campbell Barton [Tue, 16 Apr 2019 10:36:44 +0000 (12:36 +0200)]

Use CMake's target_link_libraries instead of manually maintaining
library dependencies in a single list.

In practice adding new libraries often ended up being guess-work,
now each library lists the libraries it uses.

This was used for the game player executable so libraries
could optionally link to stubs.

If we need this functionality it can be done using target-properties
as described in T46725.

4 months agoCMake: fix WIN32 linking without sorted libs
Sergey Sharybin [Tue, 16 Apr 2019 10:35:50 +0000 (12:35 +0200)]
CMake: fix WIN32 linking without sorted libs

4 months agoClenaup: odd use of ternary operators
Campbell Barton [Tue, 16 Apr 2019 10:09:34 +0000 (12:09 +0200)]
Clenaup: odd use of ternary operators

4 months agoCleanup: comment
Campbell Barton [Tue, 16 Apr 2019 07:15:39 +0000 (09:15 +0200)]
Cleanup: comment

4 months agoIndustry Compat Keymap: Use F-keys for viewpoints
William Reynish [Tue, 16 Apr 2019 09:01:23 +0000 (11:01 +0200)]
Industry Compat Keymap: Use F-keys for viewpoints

Following user suggestion

  - Similar to some apps
  - Works better on laptops and desktops without numpads
  - Also fix some small inconsistencies with select more/less in Dopesheet

4 months agoGPencil: Disable G/R/S transformations in Sculpt and Weight Paint mode
Antonioya [Tue, 16 Apr 2019 08:04:07 +0000 (10:04 +0200)]
GPencil: Disable G/R/S transformations in Sculpt and Weight Paint mode

These transformations must be only available in Object and Edit mode.

Reviewed by: @mendio @pepeland

4 months agoFix T63492: CTRL+click on an image in a UV or Image Editor crashes
Philipp Oeser [Fri, 12 Apr 2019 11:42:52 +0000 (13:42 +0200)]
Fix T63492: CTRL+click on an image in a UV or Image Editor crashes

Crash was introduced in rB48e48653c297, rB90f4ff95ed3a

`image_sample_invoke` is used for both `IMAGE_OT_sample` and
`IMAGE_OT_curves_point_set`. IMAGE_OT_curves_point_set didnt have
property `size` defined...

Now defines `size` for `IMAGE_OT_curves_point_set` as well

Reviewers: brecht

Maniphest Tasks: T63492

Differential Revision:

4 months agoFix T63642: Light Probe defined as UNKNOWN
Campbell Barton [Tue, 16 Apr 2019 07:15:39 +0000 (09:15 +0200)]
Fix T63642: Light Probe defined as UNKNOWN

4 months agoFix T63646: Box/Lasso select fails to de-select
Campbell Barton [Tue, 16 Apr 2019 07:01:00 +0000 (09:01 +0200)]
Fix T63646: Box/Lasso select fails to de-select

Select 'New' wasn't de-selecting when there was nothing selected
in some cases.

4 months agoCMake: add libs needed for gtests
Campbell Barton [Tue, 16 Apr 2019 06:07:01 +0000 (08:07 +0200)]
CMake: add libs needed for gtests

4 months agoCleanup: move motion paths into editors/animation
Campbell Barton [Tue, 16 Apr 2019 05:27:37 +0000 (07:27 +0200)]
Cleanup: move motion paths into editors/animation

Having this in blenkernel caused bad level calls to bf_editors_anim,
causing tests that use 'blenkernel' to require almost all libraries.
(complicating gtest linking & causing large binaries).

4 months agoCMake: add library deps to CMakeLists.txt
Campbell Barton [Tue, 16 Apr 2019 04:18:52 +0000 (06:18 +0200)]
CMake: add library deps to CMakeLists.txt

Tested to work on Linux and macOS.

This will be enabled once all platforms are verified.

See D4684

4 months agoCMake: cleanup, arg rename, add definitions last
Campbell Barton [Tue, 16 Apr 2019 04:11:27 +0000 (06:11 +0200)]
CMake: cleanup, arg rename, add definitions last

4 months agoCMake: re-order openvdb/osl linking
Brecht Van Lommel [Tue, 16 Apr 2019 04:09:34 +0000 (06:09 +0200)]
CMake: re-order openvdb/osl linking

Needed for building without sorted libs.

4 months agoFix DDS failure ignoring message argument
Campbell Barton [Tue, 16 Apr 2019 03:51:25 +0000 (05:51 +0200)]
Fix DDS failure ignoring message argument

4 months agoFix T62852: crash reading corrupt DDS file.
Brecht Van Lommel [Tue, 16 Apr 2019 01:39:29 +0000 (03:39 +0200)]
Fix T62852: crash reading corrupt DDS file.

4 months agoFix T63346: Cycles OSL shader with closure not working in final render.
Brecht Van Lommel [Tue, 16 Apr 2019 01:03:24 +0000 (03:03 +0200)]
Fix T63346: Cycles OSL shader with closure not working in final render.

4 months agoFix T63562: wrong viewport updates after editing group node sockets
Brecht Van Lommel [Tue, 16 Apr 2019 00:29:22 +0000 (02:29 +0200)]
Fix T63562: wrong viewport updates after editing group node sockets

4 months agoFix T63401: add Object (Without Inverse) to Set Parent menu
Philipp Oeser [Tue, 16 Apr 2019 00:14:35 +0000 (02:14 +0200)]
Fix T63401: add Object (Without Inverse) to Set Parent menu

Previously it was bound to a shortcut.

Differential Revision:

4 months agoFix T62913: datablock append removing unrelated rigid body objects.
Brecht Van Lommel [Mon, 15 Apr 2019 23:49:03 +0000 (01:49 +0200)]
Fix T62913: datablock append removing unrelated rigid body objects.

4 months agoFix proxy remapping on make local failing for more than one object.
Brecht Van Lommel [Mon, 15 Apr 2019 23:50:35 +0000 (01:50 +0200)]
Fix proxy remapping on make local failing for more than one object.

4 months agoFix T62849: crash entering particle edit mode with hair dynamics
Brecht Van Lommel [Mon, 15 Apr 2019 23:41:37 +0000 (01:41 +0200)]
Fix T62849: crash entering particle edit mode with hair dynamics

4 months agoFix T63189: missing double click for UV loop select and emulate MMB
Brecht Van Lommel [Mon, 15 Apr 2019 23:32:50 +0000 (01:32 +0200)]
Fix T63189: missing double click for UV loop select and emulate MMB

4 months agoFix T63439: too many 3D viewport redraws due to fading scrollbars.
Brecht Van Lommel [Mon, 15 Apr 2019 23:22:40 +0000 (01:22 +0200)]
Fix T63439: too many 3D viewport redraws due to fading scrollbars.

Only redraw the regions, not the entire editor.

4 months agoSpline IK: fix continuity issues with influence and curve end rolloff.
Alexander Gavrilov [Mon, 15 Apr 2019 18:48:33 +0000 (21:48 +0300)]
Spline IK: fix continuity issues with influence and curve end rolloff.

Mainly, scaling needs to be continuously faded out in these cases.
Plus, in the case of end roll-off, it seems better to integrate into
this general fading system, instead of ad-hoc interpolation of tail.

4 months agoFix T63574: missing implicit parent bone dependency in proxies.
Alexander Gavrilov [Mon, 15 Apr 2019 16:53:52 +0000 (19:53 +0300)]
Fix T63574: missing implicit parent bone dependency in proxies.

Although technically evaluating the proxy copy nodes doesn't require
the parent bone to be copied, other nodes that depend on the bones
sometimes expect the parent to be ready. To meet this expectation
it's necessary to add the dependency to the graph.

4 months agoFix T63284: Eevee: Crash when subsurface pass is enabled
Clément Foucault [Mon, 15 Apr 2019 15:46:06 +0000 (17:46 +0200)]
Fix T63284: Eevee: Crash when subsurface pass is enabled

Was caused by a NULL texture used as uniform.

4 months agoGPencil: Hide UV factor for Dots and Boxes
Antonioya [Mon, 15 Apr 2019 14:07:56 +0000 (16:07 +0200)]
GPencil: Hide UV factor for Dots and Boxes

This parameter is not used with these modes.

4 months agoUI: move gizmo popover next to the overlay buttons
Campbell Barton [Mon, 15 Apr 2019 13:54:25 +0000 (15:54 +0200)]
UI: move gizmo popover next to the overlay buttons

In paint modes this was the only button in the middle.

4 months agoFix T63598: "child of" constraint "set/clear inverse" ops not working
Philipp Oeser [Mon, 15 Apr 2019 09:37:18 +0000 (11:37 +0200)]
Fix T63598: "child of" constraint "set/clear inverse" ops not working

was missing DEG updates

Reviewers: sergey

Maniphest Tasks: T63598

Differential Revision:

4 months agoFix T63377: "Principled Volume" node not working anymore in EEVEE
Clément Foucault [Mon, 15 Apr 2019 12:36:16 +0000 (14:36 +0200)]
Fix T63377: "Principled Volume" node not working anymore in EEVEE

I'm not sur how it ever worked before. There was no texture bound to these
sampdensity and sampflame when no volume simulation was happening.

This fixes the issue using 1x1x1 dummy textures.

4 months agocleanup: typo in comment
Philipp Oeser [Mon, 15 Apr 2019 09:44:56 +0000 (11:44 +0200)]
cleanup: typo in comment

4 months agoCleanup: Add missing comma
Antonioya [Mon, 15 Apr 2019 09:03:56 +0000 (11:03 +0200)]
Cleanup: Add missing comma

4 months agoIndustry Compat Keymap: Tool shortcuts
William Reynish [Mon, 15 Apr 2019 08:58:52 +0000 (10:58 +0200)]
Industry Compat Keymap: Tool shortcuts

- Use C for Cursor tool
- Use D for Annotate tool
- Use tool shortcuts in UV Editor (although it's weak here still - waiting for Move, Rotate & Scale tools here)

4 months agoGPencil: New Dots gradient
Antonioya [Mon, 15 Apr 2019 08:32:06 +0000 (10:32 +0200)]
GPencil: New Dots gradient

This commit adds support for drawing Dots strokes with a gradient factor to get artistic effects like watercolor.

Currently, the option is only supported by Dots materials, and in the future will be added to line strokes, but now there is a limitation on drawing engine and we will keep disabled on Line materials.

Also, added the option to align Dots and Boxes strokes textures aligned with the drawing path to get more fluid strokes.

4 months agoIndustry Compat Keymap: Panning consistency
William Reynish [Mon, 15 Apr 2019 08:23:33 +0000 (10:23 +0200)]
Industry Compat Keymap: Panning consistency

- Allow orbiting while using Knife tool
- Use consistent panning keys in properties lists
- Also fix warning related to empty View 3D Generic keymap

4 months agoIndustry Compat Keymap: Remove Ctrl-click for context menu
William Reynish [Mon, 15 Apr 2019 07:37:06 +0000 (09:37 +0200)]
Industry Compat Keymap: Remove Ctrl-click for context menu

This was conflicting with some tools such as the select tools which used it for deselecting.

4 months agoCMake: fix WITH_PYTHON=OFF
Campbell Barton [Mon, 15 Apr 2019 06:40:15 +0000 (08:40 +0200)]

4 months agoCMake: sort file list
Campbell Barton [Mon, 15 Apr 2019 05:13:13 +0000 (07:13 +0200)]
CMake: sort file list

4 months agoCMake: resolve issue building without sorted libs
Campbell Barton [Mon, 15 Apr 2019 04:38:26 +0000 (06:38 +0200)]
CMake: resolve issue building without sorted libs

Linking empty libs gave an error.

4 months agoFix copy & paste mistake in assert.
Alexander Gavrilov [Sun, 14 Apr 2019 19:18:00 +0000 (22:18 +0300)]
Fix copy & paste mistake in assert.

4 months agoDepsgraph: fix hard CTD on dependency cycles through POSE_INIT.
Alexander Gavrilov [Sun, 14 Apr 2019 18:53:03 +0000 (21:53 +0300)]
Depsgraph: fix hard CTD on dependency cycles through POSE_INIT.

As reported in T63582, it can cause chan_array to be not ready.
To reliably avoid crashing, the only easy way seems to be to
create the index during COW -- maybe @sergey has a better idea.

4 months agoRender: new material preview
William Reynish [Sun, 14 Apr 2019 16:41:10 +0000 (18:41 +0200)]
Render: new material preview

* EEVEE support through irradiance volume and light probe.
* New shader ball shape (designed by Robin Marin).
* New cloth and liquid shapes, removed monkey.
* Replace world sphere by toggle to use world for any shape.
* Slight bevel on cube.
* More subdivision for displacement preview.
* Fixed and improved UV mapping for all shapes.
* Material icon / asset preview now uses specified shape instead of always
  a sphere. So for example hair material can be displayed as hair.

Ref T57683

4 months agoFix Alembic using wrong visible/selected flags, fix warnings.
Brecht Van Lommel [Sun, 14 Apr 2019 17:37:30 +0000 (19:37 +0200)]
Fix Alembic using wrong visible/selected flags, fix warnings.

4 months agoCleanup: remove deprecated grease pencil object property.
Brecht Van Lommel [Sun, 14 Apr 2019 17:08:19 +0000 (19:08 +0200)]
Cleanup: remove deprecated grease pencil object property.

4 months agoCleanup: fix compiler warnings.
Brecht Van Lommel [Sun, 14 Apr 2019 17:04:37 +0000 (19:04 +0200)]
Cleanup: fix compiler warnings.

4 months agoFix T63599: fix the zero ease hack for the B-Bone end matrix.
Alexander Gavrilov [Sun, 14 Apr 2019 17:30:33 +0000 (20:30 +0300)]
Fix T63599: fix the zero ease hack for the B-Bone end matrix.

Negate the second derivative, because it's effectively stepping back.

4 months agoFix T59622: dependency problems with Spline IK.
Alexander Gavrilov [Sun, 14 Apr 2019 10:44:12 +0000 (13:44 +0300)]
Fix T59622: dependency problems with Spline IK.

The bug is caused by problems in the dependency graph. Unfortunately,
fixing is not just a matter of fixing the graph, because correct
dependencies would cause a cycle here and in other reasonable use
cases. The real fix thus requires refactoring Spline IK to require
curve data only in the actual evaluation phase, and not in POSE_INIT_IK.

In addition, this separates the normal bone evaluation loop from
Spline IK computations for two reasons:

- That still needs to be done even if spline IK can't evaluate
  due to missing curve data.

- It should reduce issues with induced shearing, as Spline IK now
  controls how parent-child relations are handled in the chain, and
  can take care to only carry over rotation and location.

4 months agoComplete the set of matrix multiplication functions.
Alexander Gavrilov [Sun, 14 Apr 2019 15:13:39 +0000 (18:13 +0300)]
Complete the set of matrix multiplication functions.

Also, mul_m3_m3m4 was named incorrectly.

4 months agoFix add_search node operator to show custom nodes
Miguel Porces [Sun, 14 Apr 2019 14:59:01 +0000 (16:59 +0200)]
Fix add_search node operator to show custom nodes

Differential Revision:

4 months agoUI: Remember the last display mode in file browser
Sharan Ranjit [Sun, 14 Apr 2019 14:33:59 +0000 (16:33 +0200)]
UI: Remember the last display mode in file browser

See also T57688.

Differential Revision:

4 months agoUI: Do not show full action range
Jacques Lucke [Sun, 14 Apr 2019 14:18:48 +0000 (16:18 +0200)]
UI: Do not show full action range

Reviewers: brecht

Differential Revision:

4 months agoCMake: prepare for BLENDER_SORTED_LIBS removal
Campbell Barton [Sun, 14 Apr 2019 13:18:44 +0000 (15:18 +0200)]
CMake: prepare for BLENDER_SORTED_LIBS removal

No functional change, this adds LIB definition and args to cmake files.
Without this it's difficult to migrate away from 'BLENDER_SORTED_LIBS'
since there are many platforms/configurations that could break when
changing linking order.

Manually add and enable WITHOUT_SORTED_LIBS to try building
without sorted libs (currently fails since all variables are empty).
This check will eventually be removed.

See T46725.