2 months agoDrawManager: Sculpt Mesh Drawing
Jeroen Bakker [Fri, 31 May 2019 08:20:48 +0000 (10:20 +0200)]
DrawManager: Sculpt Mesh Drawing

More accurate determination when to draw the PBVH and when to draw the
regular mesh. PBVH drawing is done for Multires, Dyntopo and normal
sculpting with no active modifiers.

Maniphest Tasks: T62070

Differential Revision:

2 months agoFix build error on FreeBSD
Brecht Van Lommel [Fri, 31 May 2019 10:14:02 +0000 (12:14 +0200)]
Fix build error on FreeBSD

Don't rely on indirect header includes.

2 months agoEEVEE: Baking + Volumetrics
Jeroen Bakker [Fri, 31 May 2019 09:35:01 +0000 (11:35 +0200)]
EEVEE: Baking + Volumetrics

Missing init cache call to volumetrics during light baking

Reviewed By: fclem

Maniphest Tasks: T65206

Differential Revision:

2 months agoFix T63981: Factory default memory cache limit is 4096 MB
Sergey Sharybin [Fri, 31 May 2019 10:06:57 +0000 (12:06 +0200)]
Fix T63981: Factory default memory cache limit is 4096 MB

The initialization of default settings and cache limit and audio.

2 months agoCleanup: simplify static assert definitions, assuming C11 and C++11
Brecht Van Lommel [Fri, 31 May 2019 09:52:41 +0000 (11:52 +0200)]
Cleanup: simplify static assert definitions, assuming C11 and C++11

2 months agoFix: Don't use a slider to control the Background Image Scale property.
William Reynish [Fri, 31 May 2019 09:19:56 +0000 (11:19 +0200)]
Fix: Don't use a slider to control the Background Image Scale property.

It makes no sense to control this with a slider, since it became difficult to scale in normal ranges, and scale factors aren't represented well this way.

2 months agoFix compilation previous commit
Jeroen Bakker [Fri, 31 May 2019 09:11:57 +0000 (11:11 +0200)]
Fix compilation previous commit

2 months agoFix T65334: use _Static_assert on clang as well, to avoid macOS build error
Brecht Van Lommel [Thu, 30 May 2019 15:03:08 +0000 (17:03 +0200)]
Fix T65334: use _Static_assert on clang as well, to avoid macOS build error

Still needs a proper solution for older compilers with custom static assert.
macro that can conflict when there is an assert on the same line in multiple

2 months agoFix T55494: Apply transforms on parents and children
Sergey Sharybin [Wed, 29 May 2019 13:33:45 +0000 (15:33 +0200)]
Fix T55494: Apply transforms on parents and children
Fix T63790: Crash when applying Scale of Object with vertex parent

Made apply transform to fully live in the evaluated domain.

Reviewers: brecht

Reviewed By: brecht

Differential Revision:

2 months agoFix T65285: Crash with Object.to_mesh() in certain conditions
Sergey Sharybin [Fri, 31 May 2019 08:05:56 +0000 (10:05 +0200)]
Fix T65285: Crash with Object.to_mesh() in certain conditions

Was happening when modifier stack detected that mesh is not deformed
and is not modified and attempted to share result across multiple

This was introduced in 2f77119.

Now functions which are supposed to return mesh owned by caller will
do so again. Shouldn't be a huge impact on memory print since the
data layers are referenced.

2 months agoKeymap: Add back Ctrl-Up/Down for 2.7X
Campbell Barton [Fri, 31 May 2019 06:33:39 +0000 (16:33 +1000)]
Keymap: Add back Ctrl-Up/Down for 2.7X

2 months agoFix T65147: Rotate normal not interactive from menu
Campbell Barton [Fri, 31 May 2019 06:24:58 +0000 (16:24 +1000)]
Fix T65147: Rotate normal not interactive from menu

2 months agoCleanup: clang-format
Campbell Barton [Thu, 30 May 2019 23:47:55 +0000 (09:47 +1000)]
Cleanup: clang-format

2 months agoCleanup: undeclared variable warning
Campbell Barton [Fri, 31 May 2019 00:19:48 +0000 (10:19 +1000)]
Cleanup: undeclared variable warning

2 months agomakesrna: quiet re-declared enum warning
Campbell Barton [Fri, 31 May 2019 00:20:21 +0000 (10:20 +1000)]
makesrna: quiet re-declared enum warning

Note that BLI_STATIC_ASSERT use in headers is likely to cause this
error again, we could have a version that takes a unique ID
to be used in headers.

2 months agoVSE: Menu bug fixes
Richard Antalik [Thu, 30 May 2019 22:26:17 +0000 (15:26 -0700)]
VSE: Menu bug fixes

 - Return Toggle Meta to Strip Menu
 - Move position of Lock/Mute in Strip Menu to match position in Context Menu.
 - Remove Lock icon.

Author: Peter Fog

Reviewed By: billreynish, ISS, brecht

Differential Revision:

2 months agoVSE: don't add crop and transform data for sound strips
Richard Antalik [Thu, 30 May 2019 22:19:02 +0000 (15:19 -0700)]
VSE: don't add crop and transform data for sound strips

This also fixes commit rB1fd7b380f4cf8a0489b405de2819f228a4da5ea2 which
didn't do allocation for effect strips properly.

Reviewed By: brecht, campbellbarton

Differential Revision:

2 months agoFix T65319 Crash when selecting vertices in edit mode
Clément Foucault [Thu, 30 May 2019 22:28:03 +0000 (00:28 +0200)]
Fix T65319 Crash when selecting vertices in edit mode

2 months agoFix T64510 Armature: Empty Not Visible as Bone custom shape
Clément Foucault [Thu, 30 May 2019 17:34:54 +0000 (19:34 +0200)]
Fix T64510 Armature: Empty Not Visible as Bone custom shape

2 months agoDRW: Fix crash when object has no bounding box
Clément Foucault [Thu, 30 May 2019 17:33:48 +0000 (19:33 +0200)]
DRW: Fix crash when object has no bounding box

2 months agoFix T65049 Crash cause by NULL geom pointer
Clément Foucault [Thu, 30 May 2019 16:28:05 +0000 (18:28 +0200)]
Fix T65049 Crash cause by NULL geom pointer

2 months agoSelectoin: Remove armature bone filters
Clément Foucault [Thu, 30 May 2019 15:54:05 +0000 (17:54 +0200)]
Selectoin: Remove armature bone filters

They seems to do nothing as the filtering seems to already be
done at a higher level.

This fixes T65022 Tracking Markers are not selectable

2 months agoFix T65017 Eevee: Render error if a SSS node is unconnected
Clément Foucault [Thu, 30 May 2019 14:12:20 +0000 (16:12 +0200)]
Fix T65017 Eevee: Render error if a SSS node is unconnected

2 months agoCleanup: GPUMaterial: Remove unused struct members
Clément Foucault [Thu, 30 May 2019 12:36:43 +0000 (14:36 +0200)]
Cleanup: GPUMaterial: Remove unused struct members

2 months agoFix T65231: Null audio device and AV Sync halts playback
Jörg Müller [Thu, 30 May 2019 12:21:58 +0000 (14:21 +0200)]
Fix T65231: Null audio device and AV Sync halts playback

2 months agoEevee: Fix volumetric shader if nodetree uses a bsdf node
Clément Foucault [Wed, 29 May 2019 23:26:45 +0000 (01:26 +0200)]
Eevee: Fix volumetric shader if nodetree uses a bsdf node

2 months agoDRW: Add unit_state to avoid lots of DRWCallState duplication
Clément Foucault [Wed, 29 May 2019 22:36:54 +0000 (00:36 +0200)]
DRW: Add unit_state to avoid lots of DRWCallState duplication

A lot of drawcalls don't use the object's properties and don't
need a dedicated DRWCallState. We allocate a unique one at
the begining and use it for all calls that uses the default
unit matrix.

2 months agoEevee: Fix crash caused by visibility calculation
Clément Foucault [Wed, 29 May 2019 22:34:44 +0000 (00:34 +0200)]
Eevee: Fix crash caused by visibility calculation

2 months agoDRW: Refactor to use object pointer for drawcall by default
Clément Foucault [Wed, 29 May 2019 21:52:37 +0000 (23:52 +0200)]
DRW: Refactor to use object pointer for drawcall by default

This cleans up a bit of duplicated code and some confusion about
what was culled and what wasn't.

Now everything is culled based on the given object pointer.

If the object pointer is NULL there is no culling performed.

2 months agoGPencil: Remove uneeded storage->unit_matrix
Clément Foucault [Wed, 29 May 2019 15:44:16 +0000 (17:44 +0200)]
GPencil: Remove uneeded storage->unit_matrix

When passing NULL to DRW_shgroup_call(), ModelMatrix is assumed
to be unitmat.

2 months agoGPU: Enforce Uniform buffer alignment to 16bytes
Clément Foucault [Wed, 29 May 2019 14:57:09 +0000 (16:57 +0200)]
GPU: Enforce Uniform buffer alignment to 16bytes

This seems to be a requirement and remove some errors in

2 months agoGPU: Remove GPU_INDEX_U8
Clément Foucault [Tue, 28 May 2019 22:08:10 +0000 (00:08 +0200)]

This type of indices is not natively supported on modern GPU and
gives warning on some implementation. The memory savings it
provides is also quite minimal and unlikely to be visible on
nowadays hardware.

This remove some uneeded struct members and makes primitive
restart always enabled by default. This can be broken by addons
if they are not careful enough but many other states have this

ARB_ES3_compatibility is supported. This removes all API calls
to change restart index depending on indices length.

2 months agoTool System: Use circle cursor for non-3D circle select
Campbell Barton [Thu, 30 May 2019 11:28:04 +0000 (21:28 +1000)]
Tool System: Use circle cursor for non-3D circle select

2 months agoGPencil: Add missing blend factor to Regular blend
Antonioya [Thu, 30 May 2019 11:21:21 +0000 (13:21 +0200)]
GPencil: Add missing blend factor to Regular blend

2 months agoGPencil: Rename Blend mode "Normal" to "Regular"
Antonioya [Thu, 30 May 2019 10:15:41 +0000 (12:15 +0200)]
GPencil: Rename Blend mode "Normal" to "Regular"

The UI used "Regular" already, but internally the code didn't.

2 months agoGPencil: Remove wrong premult in Blend shader
Antonioya [Thu, 30 May 2019 10:05:25 +0000 (12:05 +0200)]
GPencil: Remove wrong premult in Blend shader

The process was doing two times the same and the alpha was totally wrong.

Related to T65279

2 months agoCleanup: use const argument, r_ prefix return arg
Campbell Barton [Thu, 30 May 2019 10:37:16 +0000 (20:37 +1000)]
Cleanup: use const argument, r_ prefix return arg

2 months ago3D View: Support light probe data clipping
Campbell Barton [Thu, 30 May 2019 10:02:05 +0000 (20:02 +1000)]
3D View: Support light probe data clipping

2 months agoFix industry compat keymap transform gizmo plane constraint
Campbell Barton [Thu, 30 May 2019 05:33:37 +0000 (15:33 +1000)]
Fix industry compat keymap transform gizmo plane constraint

Modifier keys were disabled, removing support for shift-clicking
on the transform gizmo to constrain to the plane.

The gizmo keymap matches the default, no need to re-define it.

2 months agoGizmo: activate some gizmos on drag instead of press
Campbell Barton [Thu, 30 May 2019 05:20:20 +0000 (15:20 +1000)]
Gizmo: activate some gizmos on drag instead of press

Use drag-only keyamp to adjust gizmos which use drag motion
to change a value. By default gizmos still activate on press.

This allows for left click select to be used with transform
without the gizmos getting in the way.

Even though this isn't necessary for right click select
it allows click events to pass through and be used by tools
which can be useful.

Resolves T63996

2 months agoWM: use different drag thresholds for mouse/tablet events
Campbell Barton [Thu, 30 May 2019 04:47:24 +0000 (14:47 +1000)]
WM: use different drag thresholds for mouse/tablet events

Now a small threshold is used for mouse input,
avoiding delay when gizmos are activated on drag.

Tablet input threshold remains unchanged since
it's easier to make small movements when using a tablet.

A larger threshold for non-cursor input is now used (typically keyboard)
which improves usability when the "Pie Menu on Drag" key-map preference.

2 months agoCleanup: move click/drag events to functions
Campbell Barton [Thu, 30 May 2019 04:17:39 +0000 (14:17 +1000)]
Cleanup: move click/drag events to functions

Simplifies future changes to dragging checks and avoids
each check for drag using slightly different logic.

2 months agoCleanup: rename callbacks to match the struct member name
Campbell Barton [Thu, 30 May 2019 05:01:46 +0000 (15:01 +1000)]
Cleanup: rename callbacks to match the struct member name

2 months agoGPencil: Cleanup - Remove storage Grid matrix and replace with local variable
Antonioya [Wed, 29 May 2019 18:17:46 +0000 (20:17 +0200)]
GPencil: Cleanup - Remove storage Grid matrix and replace with local variable

Now the matrix is copied when creating shading group and don't need to be saved in storage.

2 months agoCleanup: Remove duplicated comment from previous commit
Antonioya [Wed, 29 May 2019 18:03:40 +0000 (20:03 +0200)]
Cleanup: Remove duplicated comment from previous commit

2 months agoGPencil: Rename viewmatrix field to parent_obmat
Antonioya [Wed, 29 May 2019 17:59:54 +0000 (19:59 +0200)]
GPencil: Rename viewmatrix field to parent_obmat

The name of the field was not clear about the use.

2 months agoGPencil: Cleanup code to avoid double matrix copy
Antonioya [Wed, 29 May 2019 17:50:23 +0000 (19:50 +0200)]
GPencil: Cleanup code to avoid double matrix copy

Thanks @fclem for catching the problem.

2 months agoSnap: add support for meshes generated from other types of objects.
mano-wii [Wed, 29 May 2019 16:17:29 +0000 (13:17 -0300)]
Snap: add support for meshes generated from other types of objects.

Curves with modifiers generate a mesh internally.
These can be used for raycasting.

2 months agoFix T64817: Active tool gizmo doesn't respect toggle
Campbell Barton [Wed, 29 May 2019 15:17:00 +0000 (01:17 +1000)]
Fix T64817: Active tool gizmo doesn't respect toggle

Error in 14884cda1ff56

D4973 by @cto.abid

2 months agoFix T64995: box and circle select summary in Grease Pencil dopesheet.
Alexander Gavrilov [Wed, 29 May 2019 14:47:03 +0000 (17:47 +0300)]
Fix T64995: box and circle select summary in Grease Pencil dopesheet.

The issue is that generic ANIM_animchannel_keyframes_loop can't
handle non-FCurve keyframes, so every selection operator does
its own looping over special key types, and the box and region
select operators didn't have code to deal with the summary.

This adds code to handle that in a similar way to other ops.

2 months agoFix T51133: Bad performance with texture painting depending on multi-thread settings.
Bastien Montagne [Wed, 29 May 2019 14:25:56 +0000 (16:25 +0200)]
Fix T51133: Bad performance with texture painting depending on multi-thread settings.

This is more of a temp urgent hack than a proper fix, chenages required
for the later are too involved for 2.80 at that point of time and will
be done later.

That commit merely keeps the whole existing logic for 3D painting
textures, but instead of re-creating a pool of threads for *every* (!)
stroke evaluation (i.e. mouse move event during painting), we instead
use Blender's task scheduler.

That remains sub-optimal, there are likely more improvements possible in
that code, but it should address the main issue reported (which is
presumably caused by  windows thread launching being rather heavy process).

2 months agoFix T65275: missing dereference
Jacques Lucke [Wed, 29 May 2019 14:16:59 +0000 (16:16 +0200)]
Fix T65275: missing dereference

2 months agoOutliner: Correct outliner width computation
Jacques Lucke [Wed, 29 May 2019 14:02:04 +0000 (16:02 +0200)]
Outliner: Correct outliner width computation

Before it was not possible to see everything in the outliner
when there are e.g. long icon rows. This is because Blender
did not allow panning the view to the right, since it did not
know the actual width.

Most of the code to compute the width correctly was there already,
but there were a couple of issues that made it not work.

* The tree width was computed before the tree was drawn.
This does not work, since the width is only known, after
it is drawn.
* Every `TreeElement` stores its right-most position in `xend`.
However, in the current code, the `xend` of e.g. an object is
the position where the text ends. The `xend` of the icons
is stored in the sub-tree-elements. Therefore, to compute
the maximum width, you may not skip the closed tree elements.
* The current drawing code had an early exit when the icon row
would not be visible anymore. This also skipped the calculation
of `xend`. So it would work correctly, when the icon was visible
a little bit, but not when it was not visible at all.

This patch fixes these issues. So even in more complex files, the
width is computed correcly. At least I haven't found a case, where
it does not.

Unfortunately, some optimizations had to be turned off, to make
it correct.

Reviewers: brecht

Differential Revision:

2 months agoDrawManager: Cycles+GPencil
Jeroen Bakker [Tue, 28 May 2019 07:11:55 +0000 (09:11 +0200)]
DrawManager: Cycles+GPencil

Fix for GPencil and Cycles Render draw type. GPencil objects were only
shown when overlays were turned on. The cause of this is an
optimization we did to not populate any draw engine when an
external renderer was used with overlays turned off.

This will check if there is any visible GPencil object in the scene. if
so it will still perform the loop.

`DEG_id_type_any_exists` can check if any object of a certain type_id is in the
result. This check is also being used to check if there are any
visible grease pencil objects as a precheck in `DRW_render_check_grease_pencil`.

Reviewed By: brecht, fclem, antoniov

Maniphest Tasks: T65191

Differential Revision:

2 months agoKeymap: Fix missing start/end shortcuts in Sequencer
William Reynish [Wed, 29 May 2019 12:07:51 +0000 (14:07 +0200)]
Keymap: Fix missing start/end shortcuts in Sequencer

Set these in the shared animation editor keymap instead

2 months agoFix T63383: macOS: Right-clicking the file name on the title bar
Stefan Werner [Wed, 29 May 2019 11:17:15 +0000 (13:17 +0200)]
Fix T63383: macOS: Right-clicking the file name on the title bar
doesn't work as expected when the path includes a whitespace character

File path didn't need to be escaped.

2 months agoDepsgraph: Fix IDs being remapped in original compositor
Sergey Sharybin [Wed, 29 May 2019 10:48:59 +0000 (12:48 +0200)]
Depsgraph: Fix IDs being remapped in original compositor

Happens with files from T65223.

Caused by CoW scene still pointing to the original compositor.
Happens when scene was referenced for parameters only.

2 months agoCleanup: Group depsgraph building nodes
Sergey Sharybin [Wed, 29 May 2019 10:15:35 +0000 (12:15 +0200)]
Cleanup: Group depsgraph building nodes

2 months agoMarkers: fix error in previous commit
Jacques Lucke [Wed, 29 May 2019 10:30:30 +0000 (12:30 +0200)]
Markers: fix error in previous commit

2 months agoFix: Hair Length was using wrong unit
William Reynish [Wed, 29 May 2019 10:12:52 +0000 (12:12 +0200)]
Fix: Hair Length was using wrong unit

2 months agoCleanup: Remove unused marker operator wrappers
Jacques Lucke [Wed, 29 May 2019 09:50:34 +0000 (11:50 +0200)]
Cleanup: Remove unused marker operator wrappers

The wrappers do nothing anymore, because keymaps can
have poll functions now.

2 months agoSequencer: Fix box select using incorrect rectangles for sequences
Jacques Lucke [Wed, 29 May 2019 09:19:48 +0000 (11:19 +0200)]
Sequencer: Fix box select using incorrect rectangles for sequences

Reviewer: ISS

Differential Revision:

2 months agoFix T58251: Cycles ignores linked meshes when rendering
Sergey Sharybin [Mon, 27 May 2019 09:45:33 +0000 (11:45 +0200)]
Fix T58251: Cycles ignores linked meshes when rendering

The idea is to share a mesh data-block as a result across all objects
which are sharing same original mesh and have no effective modifiers.
This mesh is owned by an original copy-on-written version of object data.

Tricky part is to make sure it is only initialized once, and currently a
silly mutex lock is used. In practice it only locks if the mesh is not
already there.

As an extra bonus, even viewport memory is also lower after this change.

Reviewers: brecht, mont29

Reviewed By: brecht, mont29

Differential Revision:

2 months agoKeymap: Add back support for Set/Add/Subtract for box selecting in the Sequencer.
William Reynish [Wed, 29 May 2019 08:34:48 +0000 (10:34 +0200)]
Keymap: Add back support for Set/Add/Subtract for box selecting in the Sequencer.

2 months agoUI: use matching distance checks & define for dragging
Campbell Barton [Wed, 29 May 2019 08:13:33 +0000 (18:13 +1000)]
UI: use matching distance checks & define for dragging

2 months agoCorrect error in last commit
Campbell Barton [Wed, 29 May 2019 06:59:24 +0000 (16:59 +1000)]
Correct error in last commit

2 months agoCorrect error in last commit
Campbell Barton [Wed, 29 May 2019 06:51:56 +0000 (16:51 +1000)]
Correct error in last commit

2 months agoKeymap: add drag-only generic gizmo keymap
Campbell Barton [Wed, 29 May 2019 03:30:15 +0000 (13:30 +1000)]
Keymap: add drag-only generic gizmo keymap

Allows gizmos clicks to fall through for gizmos which only drag,
currently unused.

2 months agoFix T65027: Snap 3D cursor on hidden faces doesn't work in Edit Mode.
mano-wii [Wed, 29 May 2019 04:02:04 +0000 (01:02 -0300)]
Fix T65027: Snap 3D cursor on hidden faces doesn't work in Edit Mode.

I'm not very fond of adding new types of bvhtrees.
But this is probably the most efficient solution.

2 months agoFix T65005: Missing "LINES_ADJ" and "TRIS_ADJ" in the GPU Python API.
mano-wii [Wed, 29 May 2019 03:26:48 +0000 (00:26 -0300)]
Fix T65005: Missing "LINES_ADJ" and "TRIS_ADJ" in the GPU Python API.

2 months agoPossible fix for T63685: macOS edit mode selection not working on second display
mano-wii [Tue, 28 May 2019 21:33:50 +0000 (18:33 -0300)]
Possible fix for T63685: macOS edit mode selection not working on second display

The idea is to force `glReadPixel` to run in the offscreen context.
And don't rely on any rendering context.

2 months agoCleanup: move gizmo keymap access into funcitons
Campbell Barton [Wed, 29 May 2019 03:01:38 +0000 (13:01 +1000)]
Cleanup: move gizmo keymap access into funcitons

Existing functions were written to match the setup_keymap callback.
Add versions that can be called with the window manager for convenience.

2 months agoCleanup: remove redundant sequencer under cursor check
Campbell Barton [Wed, 29 May 2019 01:33:34 +0000 (11:33 +1000)]
Cleanup: remove redundant sequencer under cursor check

2 months agoCleanup: correct private function naming
Campbell Barton [Wed, 29 May 2019 00:35:17 +0000 (10:35 +1000)]
Cleanup: correct private function naming

Use term 'glyph' instead of 'icon' since we already have event icons.

2 months agoCleanup: Remove Dead Code
Aaron Carlisle [Wed, 29 May 2019 01:08:17 +0000 (21:08 -0400)]
Cleanup: Remove Dead Code

2 months agoFix T65244: emission node not available for world shader nodes
Brecht Van Lommel [Tue, 28 May 2019 21:07:08 +0000 (23:07 +0200)]
Fix T65244: emission node not available for world shader nodes

2 months agoFix T65175: nodetree animation stays linked after duplicating a lamp
Philipp Oeser [Tue, 28 May 2019 19:02:40 +0000 (21:02 +0200)]
Fix T65175: nodetree animation stays linked after duplicating a lamp

Reviewers: mont29, brecht

Maniphest Tasks: T65175

Differential Revision:

2 months agoFix T64123 Eevee: Reflections Not Visible On Alpha Clip Materials
Clément Foucault [Tue, 28 May 2019 18:33:19 +0000 (20:33 +0200)]
Fix T64123 Eevee: Reflections Not Visible On Alpha Clip Materials

2 months agoEevee: Fix assert when displaying transparent film checker
Clément Foucault [Tue, 28 May 2019 18:20:09 +0000 (20:20 +0200)]
Eevee: Fix assert when displaying transparent film checker

2 months agoEevee: Change default shadowmap near clipping distance
Clément Foucault [Tue, 28 May 2019 18:04:46 +0000 (20:04 +0200)]
Eevee: Change default shadowmap near clipping distance

And also fix some RNA props defaults and ranges.

Fix T64452 Shadows not appearing in eevee

2 months agoEevee: Render alpha blended objects when rendering probes
Clément Foucault [Tue, 28 May 2019 17:38:41 +0000 (19:38 +0200)]
Eevee: Render alpha blended objects when rendering probes

This fix T64553 EEVEE: Emission material not lighting
other objects when blend mode set to alpha blend

2 months agoTests: make grease pencil tests part of OpenGL render tests
Brecht Van Lommel [Tue, 28 May 2019 15:57:16 +0000 (17:57 +0200)]
Tests: make grease pencil tests part of OpenGL render tests

Otherwise tests fail on machines without OpenGL.

2 months agoFix T65212: Cycles SSS failing on 32 bit
Brecht Van Lommel [Tue, 28 May 2019 09:52:26 +0000 (11:52 +0200)]
Fix T65212: Cycles SSS failing on 32 bit

2 months agoSequencer: Drag outside of sequence to initiate box select
Jacques Lucke [Tue, 28 May 2019 15:47:26 +0000 (17:47 +0200)]
Sequencer: Drag outside of sequence to initiate box select

2 months agoDRW: Fix issue introduce in removal of DRW_STATE_POINT
Clément Foucault [Tue, 28 May 2019 15:18:39 +0000 (17:18 +0200)]
DRW: Fix issue introduce in removal of DRW_STATE_POINT

Fix issue raised by mano-wii in rB97d22e12b521

Fix T65050 knife tool snapping indicator not visible

2 months agoCleanup: DRW: Codestyle
Clément Foucault [Tue, 28 May 2019 15:15:10 +0000 (17:15 +0200)]
Cleanup: DRW: Codestyle

2 months agoCleanup: GPU: Move program point size to GPU_state
Clément Foucault [Tue, 28 May 2019 15:14:22 +0000 (17:14 +0200)]
Cleanup: GPU: Move program point size to GPU_state

2 months agoFix T64005: GPencil clamping pixels do not always work
Antonioya [Tue, 28 May 2019 15:10:58 +0000 (17:10 +0200)]
Fix T64005: GPencil clamping pixels do not always work

2 months agoDepsgraph: Add query for whether graph is up to date
Sergey Sharybin [Tue, 28 May 2019 14:05:32 +0000 (16:05 +0200)]
Depsgraph: Add query for whether graph is up to date

Depsgraph: Only invoke callbacks when there are changes

Only affects when an evaluated dependency graph is requested via

Makes it cheap to call when there are no changes made to the graph

Transform: Ensure depsgraph is evaluated when needed

Fix based on D4455 from Campbell, utilizes some recently
introduced functions and allows to not have any extra checks
in the transform code.

Fixes T61904
Fixes T62135

Reviewers: brecht

Maniphest Tasks: T62135, T61904

Differential Revision:

2 months agoDepsgraph: Only invoke callbacks when there are changes
Sergey Sharybin [Tue, 28 May 2019 13:52:26 +0000 (15:52 +0200)]
Depsgraph: Only invoke callbacks when there are changes

Only affects when an evaluated dependency graph is requested via

Makes it cheap to call when there are no changes made to the graph

2 months agoDepsgraph: Add query for whether graph is up to date
Sergey Sharybin [Tue, 28 May 2019 13:42:08 +0000 (15:42 +0200)]
Depsgraph: Add query for whether graph is up to date

2 months agoCleanup: use doxy comments for wmOperatoType.flag
Campbell Barton [Tue, 28 May 2019 15:00:16 +0000 (01:00 +1000)]
Cleanup: use doxy comments for wmOperatoType.flag

2 months agoCleanup: use WM_ prefix for cursor enum
Campbell Barton [Tue, 28 May 2019 15:03:26 +0000 (01:03 +1000)]
Cleanup: use WM_ prefix for cursor enum

2 months agoWM: support X/Y axis cursor wrapping
Campbell Barton [Tue, 28 May 2019 14:48:48 +0000 (00:48 +1000)]
WM: support X/Y axis cursor wrapping

Operator flags to wrap on a single axis.

D4865 by @Gvgeo with updates.

Resolves T64585

2 months agoCleanup: clang-format
Campbell Barton [Tue, 28 May 2019 14:24:16 +0000 (00:24 +1000)]
Cleanup: clang-format

2 months agoFix T64829: Active point of Curve objects is not displayed correctly
Philipp Oeser [Fri, 24 May 2019 10:10:27 +0000 (12:10 +0200)]
Fix T64829: Active point of Curve objects is not displayed correctly

three issues here:
- when curves had multiple nurbs, the active vert is per nurb
[curve_create_edit_data_and_handles() wasnt taking that into account]
- code could go wrong when points where hidden
- upon selection, tag curve ID_RECALC_COPY_ON_WRITE for batch cache

Reviewers: brecht, fclem, sergey

Maniphest Tasks: T64829

Differential Revision:

2 months agoFix T65187: Overlay blend increase wrongly the opacity
Antonioya [Tue, 28 May 2019 13:55:17 +0000 (15:55 +0200)]
Fix T65187: Overlay blend increase wrongly the opacity

The calculation of the mix color was not using the bottom color when the alpha was lower than 1.0.

Also added clamp code to avoid values outside valid ranges.

2 months agoGPencil: Minor cleanup
Antonioya [Tue, 28 May 2019 11:31:09 +0000 (13:31 +0200)]
GPencil: Minor cleanup

2 months agoCodestyle: Remove trailing spaces
Jeroen Bakker [Tue, 28 May 2019 13:12:29 +0000 (15:12 +0200)]
Codestyle: Remove trailing spaces

2 months agoMeshAnalysis: Disable when XRay is turned on
Jeroen Bakker [Tue, 28 May 2019 11:00:40 +0000 (13:00 +0200)]
MeshAnalysis: Disable when XRay is turned on

When XRay is turned on the mesh analysis did not draw correct. This
change won't draw the mesh analysis overlay when xray is turned on.

In terms of giving the user a visual feedback of this limitation we
render the overlay options inactive.

Reviewed By: brecht, fclem

Maniphest Tasks: T65225

Differential Revision: