blender.git
9 months agoCleanup: Split some code out of rna_access.c
Bastien Montagne [Thu, 22 Aug 2019 13:31:07 +0000 (15:31 +0200)]
Cleanup: Split some code out of rna_access.c

That file was getting out of control, now comparison/override RNA code is
in `rna_access_compare_override.c`. 1K lines of code for now, but that
area is likely to grow more in the future...

Note that we can probably split more out of `rna_access.c`, but for now
that will do.

9 months agoMulti-View user interface minor tweak
Dalai Felinto [Wed, 21 Aug 2019 18:11:47 +0000 (15:11 -0300)]
Multi-View user interface minor tweak

There is no reason to not expand this enum as we did for 2.79.
It is self explanatory enough and it has only two options.

9 months agoFix missing argument.
Alexander Gavrilov [Thu, 22 Aug 2019 13:14:48 +0000 (16:14 +0300)]
Fix missing argument.

Missed because of broken dependency tracking in msvc build process.

9 months agoFix T68971: Copy As New Driver from Material node creates a bad reference.
Alexander Gavrilov [Thu, 22 Aug 2019 12:40:10 +0000 (15:40 +0300)]
Fix T68971: Copy As New Driver from Material node creates a bad reference.

NodeTree structures of materials and some other data blocks are
effectively node group data block objects that are contained inside
the parent block. Thus, direct references to them are only valid
while blender is running, and are lost on save.

Fix Copy As New Driver to create a reference that goes through
the owner data block, by adding a new runtime field to bNodeTree.

9 months agoLibOverride: Enforce full override operations check on file save.
Bastien Montagne [Thu, 22 Aug 2019 12:32:17 +0000 (14:32 +0200)]
LibOverride: Enforce full override operations check on file save.

We try to avoid diffing too much things during edition, but when saving
a file we need to check all possible overridable IDs to ensure we have
all needed override operations...

Was pretty sure that was already in code, but apparently not (or it got
lost at some point...).

9 months agoLibOverride: Cleanup: tget rid of G.main usage when we can get it from context.
Bastien Montagne [Thu, 22 Aug 2019 12:31:39 +0000 (14:31 +0200)]
LibOverride: Cleanup: tget rid of G.main usage when we can get it from context.

9 months agoLibOverride: Fix broken logic in code checking and adding new override ops.
Bastien Montagne [Thu, 22 Aug 2019 12:28:31 +0000 (14:28 +0200)]
LibOverride: Fix broken logic in code checking and adding new override ops.

When we wanted to force all overidable IDs to be checked, code would end
up checking the whole Main DB, instead of only overrideable ones.

9 months agoShading: Add object color to Object Info node.
OmarSquircleArt [Thu, 22 Aug 2019 12:26:09 +0000 (14:26 +0200)]
Shading: Add object color to Object Info node.

The object color property is added as an additional output in
the Object Info node.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D5554

9 months agoFix T68969: current value '0' matches no enum in 'ToolSettings', '(null)', 'snap_node...
mano-wii [Thu, 22 Aug 2019 12:07:07 +0000 (09:07 -0300)]
Fix T68969: current value '0' matches no enum in 'ToolSettings', '(null)', 'snap_node_element'

I don't think a versioning solution is necessary in this case.
But it can still be implemented.

9 months agoRevert "Fix grid snap value in recent snapping updates"
mano-wii [Thu, 22 Aug 2019 12:03:20 +0000 (09:03 -0300)]
Revert "Fix grid snap value in recent snapping updates"

This reverts commit 48a7f979a5cf2669656d25767c4173fb65bfb67d.

Another solution to come.

9 months agoFix T69044: OpenCL fail due to bad fract function.
OmarSquircleArt [Thu, 22 Aug 2019 11:47:24 +0000 (13:47 +0200)]
Fix T69044: OpenCL fail due to bad fract function.

The fract function in OpenCL does more than just return the fraction.
It also writes the floor to the second argument. Which wasn't put
in consideration.

Instead, we use a simple `a - floor(a)` like the Math node.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D5553

9 months agoTransform: Snap Perpendicular: Avoid snapping to snapTarget
mano-wii [Thu, 22 Aug 2019 11:07:41 +0000 (08:07 -0300)]
Transform: Snap Perpendicular: Avoid snapping to snapTarget

9 months agoTransform: Snap Perpendicular: Use `snapTarget` instead of `center_global`
mano-wii [Thu, 22 Aug 2019 11:00:53 +0000 (08:00 -0300)]
Transform: Snap Perpendicular: Use `snapTarget` instead of `center_global`

9 months agoLibOverride: Cleanup: rename parameters in RNA apply code.
Bastien Montagne [Thu, 22 Aug 2019 10:19:37 +0000 (12:19 +0200)]
LibOverride: Cleanup: rename parameters in RNA apply code.

We cannot use local/reference here, that is very confusing, since at
that stage current local is kind of src of data for the future local ID,
that is currently a mere copy of the linked data... ;)

So we are much better with src/dst names here.

9 months agoNodes: Support for socket shapes other than circle
Charlie Jolly [Thu, 22 Aug 2019 09:10:11 +0000 (11:10 +0200)]
Nodes: Support for socket shapes other than circle

Previously there was already "draw_shape" property,
but it was doing nothing. This commit renames the
property to "display_shape". Furthermore, different
shapes like SQUARE and DIAMOND are supported now.

Currently, the shapes are drawn using the shader that also
draws keyframes. In the future we might want to separate
this.

The new shapes are not used anywhere yet, but they can
be used by addon developers and will probably be useful
when we want to support different kinds node systems later.
For example, different shapes can be used to distinguish
between data and control flow.

Differential Revision: https://developer.blender.org/D2829

9 months agoCleanup: remove edit-mode check in vertex coordinate access
Campbell Barton [Thu, 22 Aug 2019 03:20:05 +0000 (13:20 +1000)]
Cleanup: remove edit-mode check in vertex coordinate access

This makes the function more predictable since other object
types don't access edit-mode data.

9 months agoCleanup: typo in last commit
Campbell Barton [Wed, 21 Aug 2019 23:13:17 +0000 (09:13 +1000)]
Cleanup: typo in last commit

9 months agoCleanup: vertex coordinate access, naming & minor changes
Campbell Barton [Wed, 21 Aug 2019 20:28:35 +0000 (06:28 +1000)]
Cleanup: vertex coordinate access, naming & minor changes

This also splits vertex access and allocation so it's possible
to copy coordinates into an existing array without allocating it.

9 months agoCleanup: use doxy groups
Campbell Barton [Wed, 21 Aug 2019 18:56:18 +0000 (04:56 +1000)]
Cleanup: use doxy groups

9 months agoCleanup: clang-format
Campbell Barton [Wed, 21 Aug 2019 18:36:04 +0000 (04:36 +1000)]
Cleanup: clang-format

9 months agoShading: Add Volume Info node.
OmarSquircleArt [Wed, 21 Aug 2019 18:22:24 +0000 (20:22 +0200)]
Shading: Add Volume Info node.

The Volume Info node provides the Color, Desnity, Flame, and Temperature
of smoke domains.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D5551

9 months agoShading: Add White Noise node.
OmarSquircleArt [Wed, 21 Aug 2019 18:04:09 +0000 (20:04 +0200)]
Shading: Add White Noise node.

The White Noise node hashes the input and returns a random number in the
range [0, 1]. The input can be a 1D, 2D, 3D, or a 4D vector.

Reviewers: brecht, JacquesLucke

Differential Revision: https://developer.blender.org/D5550

9 months agoShading: Add more operators to Vector Math node.
OmarSquircleArt [Wed, 21 Aug 2019 17:36:33 +0000 (19:36 +0200)]
Shading: Add more operators to Vector Math node.

Add Multiply, Divide, Project, Reflect, Distance, Length, Scale, Snap,
Floor, Ceil, Modulo, Fraction, Absolute, Minimum, and Maximum operators
to the Vector Math node. The Value output has been removed from operators
whose output is a vector, and the other way around. All of those removals
has been handled properly in versioning code.

The patch doesn't include tests for the new operators. Tests will be added
in a later patch.

Reviewers: brecht, JacquesLucke

Differential Revision: https://developer.blender.org/D5523

9 months agoCleanup: remove old Windows scons installer, this is handled by CMake now
Brecht Van Lommel [Wed, 21 Aug 2019 15:08:12 +0000 (17:08 +0200)]
Cleanup: remove old Windows scons installer, this is handled by CMake now

9 months agoCleanup: Fix build error with MSVC
Lazydodo [Wed, 21 Aug 2019 16:38:33 +0000 (10:38 -0600)]
Cleanup: Fix build error with MSVC

Previously eigens internal include order somehow implicitly provided
M_PI and friends. The recent eigen version bump broke this implicit
behaviour, better to be explicit that we need the math defines for MSVC.

9 months agoTimeline: refactor cache drawing
Jacques Lucke [Wed, 21 Aug 2019 15:21:06 +0000 (17:21 +0200)]
Timeline: refactor cache drawing

I did this mostly to get to know the point cache from this direction.
This should not change anything from the user perspective.

9 months agoLibOverride: Fix inverted logic in RNA collection operation application.
Bastien Montagne [Wed, 21 Aug 2019 15:10:40 +0000 (17:10 +0200)]
LibOverride: Fix inverted logic in RNA collection operation application.

Note to self: need to recheck the namings of whole override code,
currently this is way to confusing and inconsistent.

9 months agoCleanup: minor error in assert message in libOverride collection code.
Bastien Montagne [Wed, 21 Aug 2019 15:10:10 +0000 (17:10 +0200)]
Cleanup: minor error in assert message in libOverride collection code.

9 months agoFix T68826 Eevee: Multi-Mat not working if switching from Solid shading
Clément Foucault [Wed, 21 Aug 2019 13:53:57 +0000 (15:53 +0200)]
Fix T68826 Eevee: Multi-Mat not working if switching from Solid shading

The correct fix would be to avoid all those hacks but this is needed if
we want to be able to parallelize object vbo extractions.

9 months agoGPU: Fix Element index range calculation
Clément Foucault [Wed, 21 Aug 2019 12:47:41 +0000 (14:47 +0200)]
GPU: Fix Element index range calculation

Fix T68880 2D line display is broken

9 months agoUpdate Eigen to 3.3.7
Sebastian Parborg [Wed, 21 Aug 2019 12:13:09 +0000 (14:13 +0200)]
Update Eigen to 3.3.7

This is in preparation for the QuadriFlow remesher lib.

Reviewed By: Brecht

Differential Revision: http://developer.blender.org/D5549

9 months agoFix T68837 Eevee: Fix "GPU failed to find function math_max" message
Clément Foucault [Wed, 21 Aug 2019 11:39:09 +0000 (13:39 +0200)]
Fix T68837 Eevee: Fix "GPU failed to find function math_max" message

Was a missing rename.

9 months agoUpdate CUEW to latest version
Brecht Van Lommel [Wed, 21 Aug 2019 09:49:29 +0000 (11:49 +0200)]
Update CUEW to latest version

9 months agoFix T68951: Incrementing int property causes overflow
Jacques Lucke [Wed, 21 Aug 2019 09:30:27 +0000 (11:30 +0200)]
Fix T68951: Incrementing int property causes overflow

This was probably introduced in rBfdef1a6712b.

9 months agoFix T68943: GPencil Time modifier gets strange value in offset parameter
Antonio Vazquez [Wed, 21 Aug 2019 09:05:44 +0000 (11:05 +0200)]
Fix T68943: GPencil Time modifier gets strange value in offset parameter

This is due a limitation in the RNA property when the range is too extreme. As we don't need that, the value was set to SHRT_MAX frames as maximum offset.

Also fixed the same problem in other modules of Grease Pencil.

9 months agoUI: Don't left align operator buttons in toolbars
Julian Eisel [Wed, 21 Aug 2019 08:32:23 +0000 (10:32 +0200)]
UI: Don't left align operator buttons in toolbars

This hack would make operator (push down) buttons without icons align
their text to the left in toolbars. Everywhere else in Blender, we
center it by default.

We barely use operator buttons in toolbars anymore. Even if we do and
there's a good reason to make text left aligned, it's better to use
`uiLayout.alignment = 'LEFT'` to achieve the same effect, but without
lowish-level hacks for a specific region type.

Differential Revision: https://developer.blender.org/D5527

9 months agoFix T65671: Armature X-Mirror inconsistencies
Demeter Dzadik [Wed, 21 Aug 2019 07:59:11 +0000 (09:59 +0200)]
Fix T65671: Armature X-Mirror inconsistencies

This fixes bendy bone properties not being mirrored correctly

Reviewed By: Brecht

Differential Revision: http://developer.blender.org/D5408

9 months agoGPencil: add new filter by material to modifiers
Matias Mendiola [Wed, 21 Aug 2019 06:30:45 +0000 (08:30 +0200)]
GPencil: add new filter by material to modifiers

This commit adds a new filter by material using the name and not only the index.

Reviewers: antoniov, pepeland

Differential Revision: https://developer.blender.org/D5544

9 months agoCleanup: pass lattice directly vertex coord utilities
Campbell Barton [Wed, 21 Aug 2019 05:04:41 +0000 (15:04 +1000)]
Cleanup: pass lattice directly vertex coord utilities

9 months agoFix T68444: outliner bone visibility not updating
Nathan Craddock [Wed, 21 Aug 2019 04:30:32 +0000 (22:30 -0600)]
Fix T68444: outliner bone visibility not updating

Tags for update when pose bone visibility is toggled in the outliner.

9 months agoFix T68429: wrong pose bone hide icon in outliner
Nathan Craddock [Wed, 21 Aug 2019 04:08:51 +0000 (22:08 -0600)]
Fix T68429: wrong pose bone hide icon in outliner

The hide icon was drawing instead of the disable in viewports icon.

9 months agoCleanup: use const arguments for vertex coords
Campbell Barton [Wed, 21 Aug 2019 01:46:04 +0000 (11:46 +1000)]
Cleanup: use const arguments for vertex coords

9 months agoCleanup: remove unused derived-mesh API calls
Campbell Barton [Wed, 21 Aug 2019 00:55:47 +0000 (10:55 +1000)]
Cleanup: remove unused derived-mesh API calls

9 months agoFix grid snap value in recent snapping updates
Campbell Barton [Wed, 21 Aug 2019 01:38:53 +0000 (11:38 +1000)]
Fix grid snap value in recent snapping updates

Increase the size of the snap mode so the flag can be used.

9 months agoFix T68911: "illegal recursive expansion of macro id"
mano-wii [Wed, 21 Aug 2019 00:56:39 +0000 (21:56 -0300)]
Fix T68911: "illegal recursive expansion of macro id"

I imagined that could be a problem for some drivers.
I should have avoided.

9 months agoFix conflict with "Edge Center" snap mode
mano-wii [Tue, 20 Aug 2019 22:35:11 +0000 (19:35 -0300)]
Fix conflict with "Edge Center" snap mode

`SCE_SNAP_MODE_GRID` is used for both nodes and objects.
I don't think it's worth versioning in this case.

9 months agoTransform: New Snap Option: Edge Perpendicular
mano-wii [Tue, 20 Aug 2019 22:18:25 +0000 (19:18 -0300)]
Transform: New Snap Option: Edge Perpendicular

Part of T66420

Option for snapping to the nearest point of a reference coordinate.
The patch also adds Edge Center and Perpendicular snaps to the ruler.

{F7675906}

Reviewers: campbellbarton, brecht

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D5543

9 months agoFix T68869: outliner missing subversion bump
Nathan Craddock [Tue, 20 Aug 2019 20:34:39 +0000 (14:34 -0600)]
Fix T68869: outliner missing subversion bump

The recent commit of synced selection added an active color theme to
the outliner, and synced selection enabled by default. The subversion
bump was missed.

9 months agoCleanup: remove redundant operator data in keymap
Campbell Barton [Tue, 20 Aug 2019 21:23:20 +0000 (07:23 +1000)]
Cleanup: remove redundant operator data in keymap

9 months agoKeymap: Shift-Ctrl-Click didn't allow toggle selection
Campbell Barton [Tue, 20 Aug 2019 21:13:23 +0000 (07:13 +1000)]
Keymap: Shift-Ctrl-Click didn't allow toggle selection

D5518 by @jenkm

9 months agoGPencil: Hide self_overlap parameter for Texture strokes
Antonio Vazquez [Tue, 20 Aug 2019 18:26:30 +0000 (20:26 +0200)]
GPencil: Hide self_overlap parameter for Texture strokes

This property is not supported in this mode and must be removed from UI.

9 months agoEditor Transform: New Snap Option Middle
mano-wii [Tue, 20 Aug 2019 18:07:48 +0000 (15:07 -0300)]
Editor Transform: New Snap Option Middle

Part of T66420

Reviewers: campbellbarton, brecht

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D5532

9 months agoFix use of uninitialized variable in Cycles math node
Brecht Van Lommel [Tue, 20 Aug 2019 16:19:22 +0000 (18:19 +0200)]
Fix use of uninitialized variable in Cycles math node

9 months agoFix T68877: GPencil - Missing remove unused slots in menu
Antonio Vazquez [Tue, 20 Aug 2019 16:11:16 +0000 (18:11 +0200)]
Fix T68877: GPencil - Missing remove unused slots in menu

The operator was missing in the menu for grease pencil materials.

9 months agoLiboverride: Add more missing ID RNA pointers as overridable.
Bastien Montagne [Tue, 20 Aug 2019 15:48:10 +0000 (17:48 +0200)]
Liboverride: Add more missing ID RNA pointers as overridable.

9 months agoFix T68789: Do not use new python format strings thingy in UI code.
Bastien Montagne [Tue, 20 Aug 2019 15:26:46 +0000 (17:26 +0200)]
Fix T68789: Do not use new python format strings thingy in UI code.

This is 100% incompatible with translation...

9 months agoCycles Tests: Fix Math tests when use_clamp is true.
OmarSquircleArt [Tue, 20 Aug 2019 15:20:16 +0000 (17:20 +0200)]
Cycles Tests: Fix Math tests when use_clamp is true.

The clamp option is implemented using graph expansion, where a Clamp node
named "clamp" is added and connected to the output. So the final result
is actually from the node "clamp".

Reviewers: brecht

Differential Revision: https://developer.blender.org/D5540

9 months agoCleanup: remove undefined function
mano-wii [Tue, 20 Aug 2019 14:47:50 +0000 (11:47 -0300)]
Cleanup: remove undefined function

9 months agoSelect Engine: Move some private members out of select context
mano-wii [Tue, 20 Aug 2019 14:36:18 +0000 (11:36 -0300)]
Select Engine: Move some private members out of select context

9 months agoCleanup: Move select_engine function to corresponding header
mano-wii [Tue, 20 Aug 2019 14:18:26 +0000 (11:18 -0300)]
Cleanup: Move select_engine function to corresponding header

9 months agoUI: add URL presets
Campbell Barton [Tue, 20 Aug 2019 12:00:01 +0000 (22:00 +1000)]
UI: add URL presets

This adds a url-preset operator to simplify opening re-usable links.

- Standard websites have their own tool-tip.
- De-duplicate logic to get URL's that include version information.
- Reporting bugs no longer needs to have all information
  included in the URL.

D5498 by @luisbg with edits.

9 months agoCleanup: comparison warning
Campbell Barton [Tue, 20 Aug 2019 13:41:41 +0000 (23:41 +1000)]
Cleanup: comparison warning

9 months agoBLI: double version of some math functions.
YimingWu [Tue, 20 Aug 2019 13:09:55 +0000 (21:09 +0800)]
BLI: double version of some math functions.

9 months agoFix release notes showing twice in the splash-screen
Campbell Barton [Tue, 20 Aug 2019 12:46:20 +0000 (22:46 +1000)]
Fix release notes showing twice in the splash-screen

9 months agoCleanup: clang-format, sorted lists
Campbell Barton [Tue, 20 Aug 2019 00:11:53 +0000 (10:11 +1000)]
Cleanup: clang-format, sorted lists

9 months agoFix crash with no grid unit
mano-wii [Tue, 20 Aug 2019 12:11:32 +0000 (09:11 -0300)]
Fix crash with no grid unit

9 months agoFix T61286: Viewport grid units not visible
mano-wii [Tue, 20 Aug 2019 11:56:48 +0000 (08:56 -0300)]
Fix T61286: Viewport grid units not visible

The original code was commented on.
Unlike blender 2.79, the grid units are now displayed only when RV3D_VIEW_IS_AXIS.
The visible subdivisions in the grid are made by the GPU and depending on the pixel.
The code used here only mimics this behavior and adds a bit of overhead.

Reviewers: fclem, campbellbarton

Subscribers: FloridaJo, zlsa, rl.amorato, EitanSomething

Differential Revision: https://developer.blender.org/D4325

9 months agoMemory: Fix guarded aligned malloc with small alignment
Jacques Lucke [Tue, 20 Aug 2019 07:45:47 +0000 (09:45 +0200)]
Memory: Fix guarded aligned malloc with small alignment

When calling `MEM_guarded_mallocN_aligned` with an alignment of 4,
a pointer that was returned that is 4 byte but not 8 byte aligned.
When freeing this pointer, `MEM_guarded_freeN` thinks that it is an
illegal pointer, because it asserts that `((intptr_t)memh) & 0x7 == 0`.

The fix is to always use at least 8 byte alignment.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D5529

9 months agoCleanup: outliner range selection
Nathan Craddock [Mon, 19 Aug 2019 23:04:30 +0000 (17:04 -0600)]
Cleanup: outliner range selection

No functional changes. This commit simplifies the recursive call,
removes unneeded function calls, and adds comments.

9 months agoOutliner: Add range extend select
Nathan Craddock [Sat, 17 Aug 2019 23:06:02 +0000 (17:06 -0600)]
Outliner: Add range extend select

Add support for ctrl+shift+lmb to default and industry compatible
keymaps to select a range without removing the existing selection.

9 months agoGPencil: Improve reproject operator in surface mode
Antonio Vazquez [Mon, 19 Aug 2019 19:01:18 +0000 (21:01 +0200)]
GPencil: Improve reproject operator in surface mode

This change was applied to GP branch during the period 2.80 cannot be updated. Now the patch can be moved to master.

The commit fix the problem when reproject over surface in multiframe mode and the surfaces can moved.

Also improved the surface algorithm thanks to Lukas W (@geloescht).

New Algorithm: Differential Revision: https://developer.blender.org/D4878

Tested by @mendio and @pepeland

9 months agoGPencil: Change UI scale for z-depth offset
Antonio Vazquez [Mon, 19 Aug 2019 14:30:41 +0000 (16:30 +0200)]
GPencil: Change UI scale for z-depth offset

Actually, the value for this parameter must be in the order of 0.00001 and this makes the UI uncomfortable.

Now, the value is divided by 1000 internally and the UI values are more logic.

Reviewers: mendio, pepeland

Differential Revision: https://developer.blender.org/D5528

9 months agoFix build error with OpenImageDenoise after recent changes for dynamic linking
Brecht Van Lommel [Mon, 19 Aug 2019 18:19:55 +0000 (20:19 +0200)]
Fix build error with OpenImageDenoise after recent changes for dynamic linking

CMake variables are case sensitive.

9 months agoFix T68831: use NULL instead of the wrong pointer to read default array.
Alexander Gavrilov [Mon, 19 Aug 2019 16:38:28 +0000 (19:38 +0300)]
Fix T68831: use NULL instead of the wrong pointer to read default array.

The pointer argument is supposed to be the object the property belongs
to, not a pointer to the property metadata itself. This only worked
before because the argument was never used.

9 months agoLibOverride: add some more missing override flags for RNA ID pointers.
Bastien Montagne [Mon, 19 Aug 2019 17:10:57 +0000 (19:10 +0200)]
LibOverride: add some more missing override flags for RNA ID pointers.

9 months agoMesh Batch Cache: Fix crash caused by rB3cbf2462391c
Clément Foucault [Mon, 19 Aug 2019 16:08:27 +0000 (18:08 +0200)]
Mesh Batch Cache: Fix crash caused by rB3cbf2462391c

9 months agoView3D Grid: fix imperial grid drawing
mano-wii [Mon, 19 Aug 2019 14:49:07 +0000 (11:49 -0300)]
View3D Grid: fix imperial grid drawing

This is a step to finish the D4325 and fix the T61286.
Currently the grid is highlighted in steps of 10 out of 10, which is wrong for the imperial units as seen in `buImperialLenDef`.
The idea of the code is to pass the steps of the grid already dimensioned as a uniform.

Another important thing to note is that subdivisions now only affect the grid without unity.
This matches the 2.7x Blender versions.

No performance loss (almost no gain too).

Reviewers: fclem

Subscribers: zlsa, rl.amorato

Differential Revision: https://developer.blender.org/D4379

9 months agoFix T68719 Viewport: Wrong material index when switching between view mode
Clément Foucault [Mon, 19 Aug 2019 15:02:21 +0000 (17:02 +0200)]
Fix T68719 Viewport: Wrong material index when switching between view mode

This was due to the GPUIndexBuf ranges only computed when requesting
the triangles indices. If the tris were already calculated, the new shading
batches would never have the GPUIndexBuf ranges and instead use the full
triangle index buffer.

So since this only happen when shading data does not match, we just save
the previous GPUIndexBuf ranges and reuse them for the new batch.

This patch is a bit of a hack on top of a hack but it works fine.

9 months agoOutliner: sync selection on undo/redo
Nathan Craddock [Mon, 19 Aug 2019 14:58:13 +0000 (08:58 -0600)]
Outliner: sync selection on undo/redo

Tags all outliner sync types on undo and redo operations.

9 months agoFix crash when loading a file with existing proxy, and lib has been edited.
Bastien Montagne [Mon, 19 Aug 2019 14:46:31 +0000 (16:46 +0200)]
Fix crash when loading a file with existing proxy, and lib has been edited.

Editing a lib char should never, ever be done once you have proxies of
it in your project, that will most certainly break a lot of things...

But at leats let's try no to crash here.

9 months agoOutliner: rename filter "invisible" to "hidden"
Nathan Craddock [Mon, 19 Aug 2019 14:20:13 +0000 (08:20 -0600)]
Outliner: rename filter "invisible" to "hidden"

No functional changes. Renames the "invisible" object filter to
"Hidden" to be more consistent.

9 months agoFix building with shared OIDN libraries
Sebastian Parborg [Mon, 19 Aug 2019 13:19:41 +0000 (15:19 +0200)]
Fix building with shared OIDN libraries

Previously cmake would error out if it couldn't find the static
libraries even though it can build with shared libraries just fine.

9 months agoUI: replace "reports to text" operator with showing info log
Brecht Van Lommel [Mon, 19 Aug 2019 12:53:14 +0000 (14:53 +0200)]
UI: replace "reports to text" operator with showing info log

This operator only existed to be able to see multiple reports, now instead the
info log can be opened and contents can be copy/pasted.

Patch by Valentin (Poulpator)

Differential Revision: https://developer.blender.org/D5510

9 months agoFix T68672: splash screen does not remain centered when window resizes
Luis de Bethencourt Guimera [Mon, 19 Aug 2019 12:51:16 +0000 (14:51 +0200)]
Fix T68672: splash screen does not remain centered when window resizes

Differential Revision: https://developer.blender.org/D5508

9 months agoFix T68647: objects cannot be moved to collection if there is no active
Philipp Oeser [Mon, 19 Aug 2019 12:45:07 +0000 (14:45 +0200)]
Fix T68647: objects cannot be moved to collection if there is no active
object

This showed e.g. when deleting active object, then selecting using box
select.
This commit also lifts the restriction that linked objects could not be
moved to a collection.

Reviewers: campbellbarton, dfelinto

Maniphest Tasks: T68647

Differential Revision: https://developer.blender.org/D5485

9 months agoFix T68779: "Match Texture Space" causes blender to crash
Philipp Oeser [Mon, 19 Aug 2019 11:49:42 +0000 (13:49 +0200)]
Fix T68779: "Match Texture Space" causes blender to crash

need to access curve_cache from evaluated object.
thx @sergey for pointing that out.

Reviewers: sergey

Maniphest Tasks: T68779

Differential Revision: https://developer.blender.org/D5526

9 months agoFix T68802: Paint brush's Fill Threshold option is lost
William Reynish [Mon, 19 Aug 2019 11:28:09 +0000 (13:28 +0200)]
Fix T68802: Paint brush's Fill Threshold option is lost

9 months agobuild deps macOS: add PUGI_XML home to OSL
Arto Kitula [Mon, 19 Aug 2019 12:00:28 +0000 (15:00 +0300)]
build deps macOS: add PUGI_XML home to OSL

9 months agoUI: re-order sequencer effects panel in side-bar
Campbell Barton [Mon, 19 Aug 2019 10:50:52 +0000 (20:50 +1000)]
UI: re-order sequencer effects panel in side-bar

When working with Effect strips it is not optimal to have to scroll
downwards to get to the important settings for these kinds of strips.

D5512 by @tintwotin

9 months agoFix T68806: UI: underscores instead of spaces in some labels.
Bastien Montagne [Mon, 19 Aug 2019 08:41:59 +0000 (10:41 +0200)]
Fix T68806: UI: underscores instead of spaces in some labels.

9 months agoLibOverride: Fix some more broken characters after override.
Bastien Montagne [Fri, 16 Aug 2019 15:20:53 +0000 (17:20 +0200)]
LibOverride: Fix some more broken characters after override.

Think pretty much any ID pointer property should be overrideable
actually, without this reconstructing a local hierarchy of overriding
data-blocks simply cannot work properly...

9 months agoMesh Batch Cache: Fix regression with mesh that have poly mat id > mat_len
Clément Foucault [Sun, 18 Aug 2019 20:40:47 +0000 (22:40 +0200)]
Mesh Batch Cache: Fix regression with mesh that have poly mat id > mat_len

9 months agoFix T67008: Missing move handle and flickering in FileBrowser
Andrea Weikert [Sun, 18 Aug 2019 14:34:39 +0000 (16:34 +0200)]
Fix T67008: Missing move handle and flickering in FileBrowser

Fix T67008: Missing move handle and flickering in FileBrowser

Allow split regions (child regions) to contribute to the action zones (azone) of the parent region.
This fixes the issues in file browser and also in the user preferences.

Reviewers: Severin, mont29, campbellbarton

Reviewed By: Severin, mont29, campbellbarton

Subscribers: brecht, campbellbarton

Maniphest Tasks: T67008

Differential Revision: https://developer.blender.org/D5273

9 months agoGPencil: Interpolate pressure in active Smooth
Antonio Vazquez [Sun, 18 Aug 2019 09:36:04 +0000 (11:36 +0200)]
GPencil: Interpolate pressure in active Smooth

Now the pressure is interpolated in active smooth and not only position as before.

9 months agoCleanup: spelling, change breaked to braked
Campbell Barton [Sun, 18 Aug 2019 09:30:33 +0000 (19:30 +1000)]
Cleanup: spelling, change breaked to braked

9 months agoCleanup: unused warning
Campbell Barton [Sun, 18 Aug 2019 09:29:59 +0000 (19:29 +1000)]
Cleanup: unused warning

9 months agoShading: Refactor Math node and use dynamic inputs.
OmarSquircleArt [Sun, 18 Aug 2019 09:16:04 +0000 (11:16 +0200)]
Shading: Refactor Math node and use dynamic inputs.

- Implement dynamic inputs. The second input is now unavailable in single
operand math operators.
- Reimplemenet the clamp option using graph expansion for Cycles.
- Clean up code and unify naming between Blender and Cycles.
- Remove unused code.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D5481

9 months agoIndustry Compat Keymap: support new outliner features
Nathan Craddock [Sat, 17 Aug 2019 03:28:06 +0000 (21:28 -0600)]
Industry Compat Keymap: support new outliner features

Adds support for changes in the outliner from the soc-2019-outliner
branch. All changes made in the default keymap are made in the
Industry Compatible  keymap, except for renaming. Renaming is done
with Return in the Industry Compatible keymap.

9 months agoFix: Outliner gsoc versioning
Nathan Craddock [Sat, 17 Aug 2019 23:42:00 +0000 (17:42 -0600)]
Fix: Outliner gsoc versioning

Move outliner versioning for syncing and themes to the block
for the next subversion bump. It was not moved from the first
location it was placed in the soc-2019-outliner branch.

Old files will now load with synced selection enabled reliably.

9 months agoFix T68782: false occlusion in selecting vertices and edges with objects in any wire...
mano-wii [Sat, 17 Aug 2019 21:40:08 +0000 (18:40 -0300)]
Fix T68782: false occlusion in selecting vertices and edges with objects in any wire view