11 months agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 29 Oct 2018 02:04:47 +0000 (13:04 +1100)]
Merge branch 'master' into blender2.8

11 months agoModifier: mask threshold option
Campbell Barton [Mon, 29 Oct 2018 02:01:48 +0000 (13:01 +1100)]
Modifier: mask threshold option

D3834 by @Allosteric

11 months agoCleanup: avoid C++ keyword in DNA
Campbell Barton [Mon, 29 Oct 2018 01:49:47 +0000 (12:49 +1100)]
Cleanup: avoid C++ keyword in DNA

11 months agoPyAPI: remove GPUVertFormat() creation from a list
Campbell Barton [Mon, 29 Oct 2018 00:08:55 +0000 (11:08 +1100)]
PyAPI: remove GPUVertFormat() creation from a list

We already have `attr_add` method,
best not have two ways to do the same thing.

See: D3830

11 months agoCleanup: typo
Campbell Barton [Sun, 28 Oct 2018 23:35:05 +0000 (10:35 +1100)]
Cleanup: typo

11 months agoCleanup: style
Campbell Barton [Sun, 28 Oct 2018 23:24:42 +0000 (10:24 +1100)]
Cleanup: style

11 months agoFix crash flipping region without active area
Julian Eisel [Sun, 28 Oct 2018 21:55:21 +0000 (22:55 +0100)]
Fix crash flipping region without active area

Would happen when cursor is in-between editors for example.

11 months agoDRW: Cleanup: Redundant check
Clément Foucault [Sun, 28 Oct 2018 20:46:52 +0000 (21:46 +0100)]
DRW: Cleanup: Redundant check

11 months agoEevee: Implement jittered soft shadowmap
Clément Foucault [Sun, 28 Oct 2018 20:41:40 +0000 (21:41 +0100)]
Eevee: Implement jittered soft shadowmap

This new option is located in the shadows options in the render settings.
This approach is simple and just randomize the shadow map position (not
the lamp itself) and just let the temporal supersampling do the average of
all the shadowing. The downside is that is needs quite a large number of
samples to give smooth results and individual sample position can remain

Enabling this option will make the viewport refresh all shadow maps every
redraw so it has a serious performance impact.

This approach is not physicaly based at all and will not match cycles.


The sampling for point lamps (spheres) is not

11 months agoBLI: Add comment about to orthogonalize_m3/4
Clément Foucault [Sun, 28 Oct 2018 18:27:14 +0000 (19:27 +0100)]
BLI: Add comment about to orthogonalize_m3/4

11 months agoEevee: Fix contact shadow creating to overshadowing
Clément Foucault [Sun, 28 Oct 2018 18:24:56 +0000 (19:24 +0100)]
Eevee: Fix contact shadow creating to overshadowing

This was because the shadow rays could be generated below the geometric

11 months agoUse keyword argument for ui label text in cryptomatte passes
Philipp Oeser [Sun, 28 Oct 2018 19:39:44 +0000 (20:39 +0100)]
Use keyword argument for ui label text in cryptomatte passes

11 months agoGP: Refactor Instance modifier and rename to Array
Antonioya [Sun, 28 Oct 2018 17:08:24 +0000 (18:08 +0100)]
GP: Refactor Instance modifier and rename to Array

The old name Instance was logic when the modifier created new object instances, but now works equal to mesh Array modifier, so the old name was not logic and must be Array.

Also added a Object to use as offset similar to mesh Array modifier.

11 months agoFix label misalignment when there are multiple buttons on the right side.
Brecht Van Lommel [Thu, 25 Oct 2018 13:27:31 +0000 (15:27 +0200)]
Fix label misalignment when there are multiple buttons on the right side.

11 months agoCleanup: fix compiler warnings.
Brecht Van Lommel [Sun, 28 Oct 2018 16:22:26 +0000 (17:22 +0100)]
Cleanup: fix compiler warnings.

11 months agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Sun, 28 Oct 2018 15:41:30 +0000 (16:41 +0100)]
Merge branch 'master' into blender2.8

11 months agoFix snaps appearing in system bookmarks on Linux.
Roel Koster [Sun, 28 Oct 2018 12:03:50 +0000 (13:03 +0100)]
Fix snaps appearing in system bookmarks on Linux.

Differential Revision:

11 months agoFix Linux build after Cryptomatte commit.
Brecht Van Lommel [Sun, 28 Oct 2018 13:53:08 +0000 (14:53 +0100)]
Fix Linux build after Cryptomatte commit.

11 months agoFix T57394: missing bl_category in panel (custom props / stereoscopy)
Philipp Oeser [Fri, 26 Oct 2018 18:30:41 +0000 (20:30 +0200)]
Fix T57394: missing bl_category in panel (custom props / stereoscopy)

Differential Revision:

11 months agoCycles: Added Cryptomatte output.
Stefan Werner [Sun, 28 Oct 2018 09:37:41 +0000 (05:37 -0400)]
Cycles: Added Cryptomatte output.

This allows for extra output passes that encode automatic object and material masks
for the entire scene. It is an implementation of the Cryptomatte standard as
introduced by Psyop. A good future extension would be to add a manifest to the
export and to do plenty of testing to ensure that it is fully compatible with other
renderers and compositing programs that use Cryptomatte.

Internally, it adds the ability for Cycles to have several passes of the same type
that are distinguished by their name.

Differential Revision:

11 months agoCleanup: More meaningful variable name
Severin [Sat, 27 Oct 2018 15:12:51 +0000 (17:12 +0200)]
Cleanup: More meaningful variable name

11 months agoFix T57393: Cycles OSL bevel and AO not working after OSL upgrade.
Brecht Van Lommel [Fri, 26 Oct 2018 17:26:06 +0000 (19:26 +0200)]
Fix T57393: Cycles OSL bevel and AO not working after OSL upgrade.

11 months agoTool System: pie menu style activate-on-release
Campbell Barton [Sat, 27 Oct 2018 01:22:20 +0000 (12:22 +1100)]
Tool System: pie menu style activate-on-release

Support activate on release for the popup toolbar.

11 months agoUI: operator to press the active button
Campbell Barton [Sat, 27 Oct 2018 01:21:19 +0000 (12:21 +1100)]
UI: operator to press the active button

Needed to use the keymap to activate buttons from other keys.

11 months agoMulti-Objects: Curve - select pick, linked and short path
Dalai Felinto [Fri, 26 Oct 2018 22:54:11 +0000 (19:54 -0300)]
Multi-Objects: Curve - select pick, linked and short path

I'm following mesh editing to decide when to switch active object, or
deselect the other objects. I hope we can keep this all consistent in
the end.

11 months agoCleanup: Remove silly redundant if check in ED_armature_edit_select_pick
Dalai Felinto [Fri, 26 Oct 2018 22:20:12 +0000 (19:20 -0300)]
Cleanup: Remove silly redundant if check in ED_armature_edit_select_pick

11 months agoFix T57367: Multi-Object-Mode: Edit Lattice selection only working for active object
Dalai Felinto [Fri, 26 Oct 2018 22:18:49 +0000 (19:18 -0300)]
Fix T57367: Multi-Object-Mode: Edit Lattice selection only working for active object

For the records, curves still have this problem.

11 months agoFix lasso selection not working for lattices
Dalai Felinto [Fri, 26 Oct 2018 21:29:42 +0000 (18:29 -0300)]
Fix lasso selection not working for lattices

Regression introduced on e88e80a6.
This was broken for both single and multi-objects.

It is a typo that apparently slipt through testing, oh well.
I'm glad I caught this, I just wished it would have been faster.

11 months agoFix crash when switching to Scripting workspace
Dalai Felinto [Fri, 26 Oct 2018 18:33:03 +0000 (15:33 -0300)]
Fix crash when switching to Scripting workspace

Crash introduced on: a4a6ed1ba3c86ed842f4373c65d64d28d827f864.

11 months agoSmall cleanup: Remove uneeded/wrong check
Dalai Felinto [Fri, 26 Oct 2018 16:45:35 +0000 (13:45 -0300)]
Small cleanup: Remove uneeded/wrong check

If ob was NULL it would crash in the else part of the if statement.
If we really think we may run into that (which we should not) we can just assert
or add a if (ob == NULL) return; in the top of the function.

11 months agoFix unreported: Crash when adding lattice vertex group
Dalai Felinto [Fri, 26 Oct 2018 16:44:14 +0000 (13:44 -0300)]
Fix unreported: Crash when adding lattice vertex group

11 months agoFix unreported: Crash when removing lattice vertex group
Dalai Felinto [Fri, 26 Oct 2018 16:36:30 +0000 (13:36 -0300)]
Fix unreported: Crash when removing lattice vertex group

11 months agoRefactor cleanup: BKE_object_is_in_editmode
Dalai Felinto [Fri, 26 Oct 2018 16:21:54 +0000 (13:21 -0300)]
Refactor cleanup: BKE_object_is_in_editmode

Using switch and keep it concise.

11 months agoFix T57368: Multi-Object-Mode: Edit Lattice draws only active
Dalai Felinto [Fri, 26 Oct 2018 16:11:07 +0000 (13:11 -0300)]
Fix T57368: Multi-Object-Mode: Edit Lattice draws only active

As it turned out the issue wasn't that we were drawing only the active,
but that the "object mode" lattice drawing was drawing on top of the
drawing for all the edit mode lattice objects.

We are doing the same original behaviour for curves and even meshes. To be
investigated if it is ok for those other cases.

11 months agoCycles: Expose noisy image pass by default when rendering with denoiser
Lukas Stockner [Thu, 30 Aug 2018 21:28:10 +0000 (23:28 +0200)]
Cycles: Expose noisy image pass by default when rendering with denoiser

Apparently quite a few users would like to have the noisy pass available when using the denoiser, and since it's being generated anyways we might as well expose it by default.

Reviewers: brecht

Differential Revision:

11 months agoMulti-Objects: LATTICE_OT_make_regular
Dalai Felinto [Fri, 26 Oct 2018 14:01:53 +0000 (11:01 -0300)]
Multi-Objects: LATTICE_OT_make_regular

Committing this for the sake of completionism. I'm going to bring this
up for review, I think we may want to revert it.

Fundamentally I'm changing the behaviour of the operator both in object
mode (acting on all selected lattice objects), as well as the edit mode
(acting on all lattices in edit mode, regardless of them having any
 selected vertice).

11 months agoEevee: SSS: Fix issue with mac and stencil buffer blitting
Clément Foucault [Thu, 25 Oct 2018 20:13:46 +0000 (22:13 +0200)]
Eevee: SSS: Fix issue with mac and stencil buffer blitting

Adding a workaround in this case: we blit the depth buffer instead of the
stencil buffer and use the copy as the texture. This is slower but at
least it should work.

11 months agoGPU: Add workarounds for buggy glBlitFramebuffer function on macOS + Radeon
Clément Foucault [Thu, 25 Oct 2018 19:57:40 +0000 (21:57 +0200)]
GPU: Add workarounds for buggy glBlitFramebuffer function on macOS + Radeon

When calling glBlitFramebuffer on most (if not all) mac that have a GPU
from the Radeon Pro series, the data is not properly copied and only a
subset of the pixels are correctly copied.

This only happens when blitting the depth buffer if the depth buffer is

Changing the depth buffer format to GPU_DEPTH32F_STENCIL8 fixes the issue
but only works if blitting the depth componnent. The stencil componnent
still provoke issues when being copied.

11 months agoGPUTexture: Add supports for GL_DEPTH32F_STENCIL8 texture format
Clément Foucault [Thu, 25 Oct 2018 17:08:35 +0000 (19:08 +0200)]
GPUTexture: Add supports for GL_DEPTH32F_STENCIL8 texture format

11 months agoWorkbench: Fix shadows on macOS
Clément Foucault [Thu, 25 Oct 2018 11:01:15 +0000 (13:01 +0200)]
Workbench: Fix shadows on macOS

11 months agoGP: Assign new materials to brushes
Antonioya [Fri, 26 Oct 2018 07:02:28 +0000 (09:02 +0200)]
GP: Assign new materials to brushes

When create a new material, this must be set to the brushes automatically.

11 months agoPyAPI: raise error when toolbar panels use tabs
Campbell Barton [Fri, 26 Oct 2018 04:05:07 +0000 (15:05 +1100)]
PyAPI: raise error when toolbar panels use tabs

Add-ons that register panels in the toolbar can
no longer use 'bl_categories' (tabs).

11 months agoCorrection for Gizmo.draw_custom_shape utility API
Campbell Barton [Fri, 26 Oct 2018 01:43:40 +0000 (12:43 +1100)]
Correction for Gizmo.draw_custom_shape utility API

11 months agoPyAPI: gpu utility module to create new batches
Jacques Lucke [Fri, 26 Oct 2018 01:38:04 +0000 (12:38 +1100)]
PyAPI: gpu utility module to create new batches

Support the common case of creating batches from python geometry,
a shader and optionally indices.

See D3779

11 months agoUpdate gpu offscreen PyAPI example
Campbell Barton [Fri, 26 Oct 2018 01:13:03 +0000 (12:13 +1100)]
Update gpu offscreen PyAPI example

11 months agoFix parsing single int for uniform_int
Campbell Barton [Fri, 26 Oct 2018 00:59:49 +0000 (11:59 +1100)]
Fix parsing single int for uniform_int

This worked for float but not int.

11 months agoCleanup: minor change to last commit
Campbell Barton [Fri, 26 Oct 2018 00:48:42 +0000 (11:48 +1100)]
Cleanup: minor change to last commit

11 months agoUpdate Gizmo.draw_custom_shape for API changes
Campbell Barton [Fri, 26 Oct 2018 00:26:39 +0000 (11:26 +1100)]
Update Gizmo.draw_custom_shape for API changes

11 months agoWM: default tool was being set for space types w/o tools
Campbell Barton [Thu, 25 Oct 2018 23:42:31 +0000 (10:42 +1100)]
WM: default tool was being set for space types w/o tools

Add mask for space types so we don't accidentally add tools
for space types that don't support it.

11 months agoPyAPI: draw handlers now store args in the capsule context
Campbell Barton [Thu, 25 Oct 2018 22:19:51 +0000 (09:19 +1100)]
PyAPI: draw handlers now store args in the capsule context

Was using the handlers custom-data which crashes
when Blender frees the screen data before Python removes the handler.

11 months agoPyAPI: Temp workaround for crash removing cursor
Campbell Barton [Thu, 25 Oct 2018 21:49:10 +0000 (08:49 +1100)]
PyAPI: Temp workaround for crash removing cursor

Opening a new file frees the cursors,
add check if the cursor is still valid.

This leaks a Python reference, so a better solution is needed.

11 months agoPyAPI: Make GPUVertFormat() argument optional
Campbell Barton [Thu, 25 Oct 2018 21:06:05 +0000 (08:06 +1100)]
PyAPI: Make GPUVertFormat() argument optional

11 months agoGP: Add warning when mix Build and Time Offset
Antonioya [Thu, 25 Oct 2018 17:15:32 +0000 (19:15 +0200)]
GP: Add warning when mix Build and Time Offset

11 months agoGP: Include option to render layers by view layer
Antonioya [Thu, 25 Oct 2018 14:50:42 +0000 (16:50 +0200)]
GP: Include option to render layers by view layer

This allows to make composition getting each grease pencil layer in a different render output.

11 months agoCleanup: comments and unused code
Ines Almeida [Thu, 25 Oct 2018 13:41:32 +0000 (13:41 +0000)]
Cleanup: comments and unused code

11 months agoCycles: Overhaul ensure_valid_reflection to fix issues with normal- and bumpmapping
Lukas Stockner [Sun, 21 Oct 2018 01:41:31 +0000 (03:41 +0200)]
Cycles: Overhaul ensure_valid_reflection to fix issues with normal- and bumpmapping

This function is supposed to prevent the black artifacts caused by strong normal- or bumpmapping, but failed in some cases.

Now the code correctly handles all test files and previous issues I am aware of and also has extensive comments describing
the algorithm and the math behind it.

Basically, the main problem was that there can be multiple valid solutions that fulfil the reflection angle criterium,
but I had assumed that only one would exist and therefore simply picked the first solution with a positive term in srqt().
Now, the code uses additional validity checks and a simple heuristic to pick the best valid solution.

Additionally, the code messed up very shallow reflections even if the normal map strength was zero due to the constant
limit for the outgoing ray angle, which caused shallow incoming rays to fail the initial test even when reflected directly
on Ng. Now, the code accounts for this by reducing the threshold in the case of a shallow incoming ray, ensuring that at
least N=Ng is always a valid solution.

Reviewers: brecht

Differential Revision:

11 months agoTool System: draw circle-select brush outline
Campbell Barton [Thu, 25 Oct 2018 10:05:29 +0000 (21:05 +1100)]
Tool System: draw circle-select brush outline

11 months agoTool System: support custom cursor drawing
Campbell Barton [Thu, 25 Oct 2018 10:03:41 +0000 (21:03 +1100)]
Tool System: support custom cursor drawing

11 months agoPyAPI: initial gpu_extras module (circle drawing utility)
Campbell Barton [Thu, 25 Oct 2018 10:04:38 +0000 (21:04 +1100)]
PyAPI: initial gpu_extras module (circle drawing utility)

11 months agoPyAPI: rename GPL VertBuf.attr_fill identifier to id
Campbell Barton [Thu, 25 Oct 2018 09:32:02 +0000 (20:32 +1100)]
PyAPI: rename GPL VertBuf.attr_fill identifier to id

This is used elsewhere in the API and its a common abbreviation.

11 months agoDepsgraph: don't lose the update tag on rebuild for op nodes with a name.
Alexander Gavrilov [Thu, 25 Oct 2018 07:29:17 +0000 (10:29 +0300)]
Depsgraph: don't lose the update tag on rebuild for op nodes with a name.

This fixes a missing update when clearing the Text On Curve
(follow_curve) option of a text object.

11 months agoCleanup: move params into their own struct
Campbell Barton [Thu, 25 Oct 2018 06:20:26 +0000 (17:20 +1100)]
Cleanup: move params into their own struct

11 months agoPyAPI: take paint-cursor space/region type args
Campbell Barton [Thu, 25 Oct 2018 05:27:13 +0000 (16:27 +1100)]
PyAPI: take paint-cursor space/region type args

11 months agoWM: space, region type filtering for paint cursor
Campbell Barton [Thu, 25 Oct 2018 05:06:47 +0000 (16:06 +1100)]
WM: space, region type filtering for paint cursor

Avoids calling poll on mouse-move for unrelated space/region types.

11 months agoPyAPI: support for Python paint cursors
Campbell Barton [Thu, 25 Oct 2018 04:31:02 +0000 (15:31 +1100)]
PyAPI: support for Python paint cursors

11 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 25 Oct 2018 04:19:35 +0000 (15:19 +1100)]
Merge branch 'master' into blender2.8

11 months agoWM: minor changes to cursor API
Campbell Barton [Thu, 25 Oct 2018 04:18:24 +0000 (15:18 +1100)]
WM: minor changes to cursor API

11 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 25 Oct 2018 01:26:08 +0000 (12:26 +1100)]
Merge branch 'master' into blender2.8

11 months agoCleanup: unused vars, correct bad (unused) logic
Campbell Barton [Thu, 25 Oct 2018 01:24:38 +0000 (12:24 +1100)]
Cleanup: unused vars, correct bad (unused) logic

11 months agoCleanup: unused variables
Campbell Barton [Thu, 25 Oct 2018 01:03:34 +0000 (12:03 +1100)]
Cleanup: unused variables

11 months agoUI: move 2d paint panels to topbar & toolsettings
Campbell Barton [Thu, 25 Oct 2018 00:13:22 +0000 (11:13 +1100)]
UI: move 2d paint panels to topbar & toolsettings

Removed 'Tool' and 'Options' panels,
both these settings are quite obscure and
already available in the 'Brush' menu.

11 months agoFix top bar unified color & image paint brush
Campbell Barton [Wed, 24 Oct 2018 22:53:22 +0000 (09:53 +1100)]
Fix top bar unified color & image paint brush

11 months agoGP: Fix compiler warnings
Antonioya [Wed, 24 Oct 2018 20:35:37 +0000 (22:35 +0200)]
GP: Fix compiler warnings

11 months agoDepsgraph: fixes for the eval_flags API behavior.
Alexander Gavrilov [Wed, 24 Oct 2018 16:38:50 +0000 (19:38 +0300)]
Depsgraph: fixes for the eval_flags API behavior.

- Use the original ID pointer for lookup in DEG_get_eval_flags_for_id.
- When the flags change after a DEG rebuild, tag the object for update.
- Instead of mixing int and short in different places, use uint32_t.

This fixes text not updating when a Follow Curve reference is set.

11 months agoFix T56172 Accessing COW data from RNA - Dimension
Bastien Montagne [Wed, 24 Oct 2018 15:18:02 +0000 (17:18 +0200)]
Fix T56172 Accessing COW data from RNA - Dimension

Also fixes T55769 Dimension Not properly work
and T56064 Blender crashes on selecting text-object

We decided to go to the easy way in the end, simply enforcing computing
BBox of all objects when using 'active' depsgraph, and copying back to
orig object (same as transform matrix, etc.).

11 months agoGP: Add missing title for Armature modifier
Antonioya [Wed, 24 Oct 2018 15:10:51 +0000 (17:10 +0200)]
GP: Add missing title for Armature modifier

11 months agoGP: Rename Fixed type in Time modifier
Antonioya [Wed, 24 Oct 2018 14:59:13 +0000 (16:59 +0200)]
GP: Rename Fixed type in Time modifier

11 months agoGP: Add new Layer Pass Index filter to modifiers
Antonioya [Wed, 24 Oct 2018 14:46:14 +0000 (16:46 +0200)]
GP: Add new Layer Pass Index filter to modifiers

Now the modifier can be filtered using the new layer index.

Also changed panels to put layers and passes filter always at the end of the panel.

11 months agoFix T57361: Creating a new scene with a full copy doesn't work.
Bastien Montagne [Wed, 24 Oct 2018 12:45:18 +0000 (14:45 +0200)]
Fix T57361: Creating a new scene with a full copy doesn't work.

BKE_scene_copy() & co. were pretty much doing nothing right...

Was a tough fight, but at least now they should behave a tad better (and
reported issue is fixed).

Proper fix is to fully rewrite that PoS, it was already a mess without
collections, now it's even hairier to handle properly, we need to use
modern new ID handling API for that (and maybe extend it a bit as
needed). But way too late to do that in 2.80.

11 months agoCleanup: Remove unused modifiers callback
Sergey Sharybin [Wed, 24 Oct 2018 12:03:51 +0000 (14:03 +0200)]
Cleanup: Remove unused modifiers callback

Was only used by subsurf in the past years, it is unlikely
other modifiers will every need this any time soon.

11 months agoDepsgraph: minor renaming and refactor of API for adding evaluation flags.
Alexander Gavrilov [Wed, 24 Oct 2018 09:31:24 +0000 (12:31 +0300)]
Depsgraph: minor renaming and refactor of API for adding evaluation flags.

11 months agoSubsurf: Remove edit mesh modifier callbacks
Sergey Sharybin [Wed, 24 Oct 2018 10:35:54 +0000 (12:35 +0200)]
Subsurf: Remove edit mesh modifier callbacks

Those were used for partial updates during edit mode, which will
not be possible anymore with OpenSubdiv.

Optimization for OpenSubdiv would be to re-use topology refiner
if topology does not change. But this is something to be done
for both edit and object modes, no need to have separate code
paths for those.

This commit makes OpenSubdiv to properly work in edit mode.

11 months agoFix Python warnings when running in background.
Brecht Van Lommel [Tue, 23 Oct 2018 12:52:01 +0000 (14:52 +0200)]
Fix Python warnings when running in background.

11 months agoCleanup: fix compiler warnings.
Brecht Van Lommel [Tue, 23 Oct 2018 10:50:31 +0000 (12:50 +0200)]
Cleanup: fix compiler warnings.

11 months agoGP: Add layer pass index to time modifier
Antonioya [Wed, 24 Oct 2018 09:02:52 +0000 (11:02 +0200)]
GP: Add layer pass index to time modifier

11 months agoFix: buffer overflow when creating gpu.types.GPUIndexBuf
Jacques Lucke [Wed, 24 Oct 2018 08:57:16 +0000 (10:57 +0200)]
Fix: buffer overflow when creating gpu.types.GPUIndexBuf

11 months agoGP: Add new modes to Time Offset modifier
Antonioya [Wed, 24 Oct 2018 08:31:48 +0000 (10:31 +0200)]
GP: Add new modes to Time Offset modifier

11 months agoGPUShader: shader.uniform_float, matrix parsing
Campbell Barton [Wed, 24 Oct 2018 07:45:47 +0000 (18:45 +1100)]
GPUShader: shader.uniform_float, matrix parsing

Add checks to parse 3x3 or 4x4 matrices,
also use error from `mathutils_array_parse` instead of overwriting.

11 months agoPartially revert "GPUShader: shader.uniform_float parameters"
Campbell Barton [Wed, 24 Oct 2018 06:59:41 +0000 (17:59 +1100)]
Partially revert "GPUShader: shader.uniform_float parameters"

`mathutils_array_parse` is meant to parse 1d arrays of numbers.

Using matrices internal memory layout is confusing since
mathutils matrices are exposed as row major.

Also, the matrix shape wasn't checked for.

Callers that want to handle matrices should check for them explicitly.

11 months agoFix T57359: Crash adding a Driver and then changing frame
Sergey Sharybin [Wed, 24 Oct 2018 07:44:57 +0000 (09:44 +0200)]
Fix T57359: Crash adding a Driver and then changing frame

11 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Wed, 24 Oct 2018 07:00:13 +0000 (09:00 +0200)]
Merge branch 'master' into blender2.8


11 months agoFix (unreported) bad halding of ID usercounts when fully copying a scene.
Bastien Montagne [Wed, 24 Oct 2018 06:43:20 +0000 (08:43 +0200)]
Fix (unreported) bad halding of ID usercounts when fully copying a scene.

11 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Wed, 24 Oct 2018 06:26:32 +0000 (08:26 +0200)]
Merge branch 'master' into blender2.8


11 months agoI18n: tweak/fix exception catching code of pgettex() wrapper.
Bastien Montagne [Wed, 24 Oct 2018 06:23:14 +0000 (08:23 +0200)]
I18n: tweak/fix exception catching code of pgettex() wrapper.

Related to T57066, rather unlikely to fix core of the issue, but may
solve crash itself.

Same as rBf22385f28ec8 (did it by mistake in 2.8 first :/ ).

11 months agoFix error w/ poly-build clearing the edit-object
Campbell Barton [Wed, 24 Oct 2018 05:24:01 +0000 (16:24 +1100)]
Fix error w/ poly-build clearing the edit-object

11 months agoFix T57351: Deform modifiers skipped in editmode
Campbell Barton [Wed, 24 Oct 2018 03:45:36 +0000 (14:45 +1100)]
Fix T57351: Deform modifiers skipped in editmode

11 months agoFixup for LATTICE_OT_flip
Dalai Felinto [Wed, 24 Oct 2018 03:00:55 +0000 (00:00 -0300)]
Fixup for LATTICE_OT_flip

Committed by accident (1076523b1b62a3d8833bf2a).
But now I need to fix building.

Note: The operator itself shouldn't have been committed because it
should operate in the world space (for the axis), not local.

I will tackle this later.

11 months agoSilence some false positiver warnings
Dalai Felinto [Wed, 24 Oct 2018 02:47:04 +0000 (23:47 -0300)]
Silence some false positiver warnings

11 months agoMulti-Objects: LATTICE_OT_flip
Dalai Felinto [Wed, 24 Oct 2018 02:27:05 +0000 (23:27 -0300)]
Multi-Objects: LATTICE_OT_flip

11 months agoFix mapped mesh display skipping generated faces
Campbell Barton [Wed, 24 Oct 2018 02:12:18 +0000 (13:12 +1100)]
Fix mapped mesh display skipping generated faces