22 months agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 7 Nov 2018 01:19:10 +0000 (12:19 +1100)]
Merge branch 'master' into blender2.8

22 months agoCleanup: use BLI_compiler_compat.h for BLI_INLINE
Campbell Barton [Wed, 7 Nov 2018 01:17:58 +0000 (12:17 +1100)]
Cleanup: use BLI_compiler_compat.h for BLI_INLINE

22 months agoCleanup: remove GPENCIL_OT_sculpt_select
Campbell Barton [Wed, 7 Nov 2018 01:04:03 +0000 (12:04 +1100)]
Cleanup: remove GPENCIL_OT_sculpt_select

This can be done via WM_OT_context_set_enum

22 months agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 7 Nov 2018 00:58:57 +0000 (11:58 +1100)]
Merge branch 'master' into blender2.8

22 months agoMulti-Objects: CURVE_OT_select_similar
Habib Gahbiche [Wed, 7 Nov 2018 00:01:50 +0000 (22:01 -0200)]
Multi-Objects: CURVE_OT_select_similar

Implemented the following methods:

* DIRECTION does not support surfaces, because `BKE_nurb_bpoint_calc_normal`
  does not work with Nurbs of type `CU_CARDINAL`. This also didn't work prior
  to this patch, so we wait until surfaces are properly supported in EditMode.

* Also DIRECTION should take scaling into consideration. We need our own
  versions of BKE_nurb_bpoint_calc_normal/bezt.

* Threshold default is too large. Not sure if it's better to change the default
  or scale the threshold in code.

Differential Revision:

Changes from committer (Dalai Felinto):
 * Moved nurb_bpoint_direction_worldspace_get/bezt to functions.
 * Comments hinting at the mode (direction) that require scaling to be
   taken into account - to be addressed by patch creator in a future

22 months agoCleanup: renmae ePaintTexture(Projective) -> 3D
Campbell Barton [Wed, 7 Nov 2018 00:44:51 +0000 (11:44 +1100)]
Cleanup: renmae ePaintTexture(Projective) -> 3D

Matches ePaintTexture2D, less verbose.

22 months agoPaint: paint.brush_select now supports gpencil
Campbell Barton [Wed, 7 Nov 2018 00:38:10 +0000 (11:38 +1100)]
Paint: paint.brush_select now supports gpencil

Replace grease pencil specific brush select operator.

22 months agoPaint: update shortcut detection for new logic
Campbell Barton [Tue, 6 Nov 2018 23:54:14 +0000 (10:54 +1100)]
Paint: update shortcut detection for new logic

22 months agoUI: Fix hard to see unselected channel name in Graph Editor.
Pablo Vazquez [Tue, 6 Nov 2018 23:43:29 +0000 (00:43 +0100)]
UI: Fix hard to see unselected channel name in Graph Editor.

And unify colors with the Dope Sheet.

22 months agoGPU: Make node texture "Blend" parameter interactive.
Clément Foucault [Tue, 6 Nov 2018 23:19:06 +0000 (00:19 +0100)]
GPU: Make node texture "Blend" parameter interactive.

This parameter is only used for Box projection type.

22 months agoWorkbench: Improve volume render by removing noise using temporal AA
Clément Foucault [Tue, 6 Nov 2018 23:17:36 +0000 (00:17 +0100)]
Workbench: Improve volume render by removing noise using temporal AA

22 months agoWorkbench: Fix volumetric blending leading to corrupted render results
Clément Foucault [Tue, 6 Nov 2018 23:16:46 +0000 (00:16 +0100)]
Workbench: Fix volumetric blending leading to corrupted render results

Use simpler premultiplied blending.

22 months agoWorkbench: Fix non transparent background in viewport render
Clément Foucault [Tue, 6 Nov 2018 23:15:30 +0000 (00:15 +0100)]
Workbench: Fix non transparent background in viewport render

22 months agoEevee: Wireframe: Increase precision a bit
Clément Foucault [Tue, 6 Nov 2018 19:52:06 +0000 (20:52 +0100)]
Eevee: Wireframe: Increase precision a bit

Take the full derivative and compute its length instead of using fwidth.

22 months agoEevee: Make Normal node interactive
Clément Foucault [Tue, 6 Nov 2018 19:50:37 +0000 (20:50 +0100)]
Eevee: Make Normal node interactive

Before it was triggering shader recompilation. Include small cleanup/opti.

22 months agoGPU: Fix wrong socket value struct
Clément Foucault [Tue, 6 Nov 2018 19:49:50 +0000 (20:49 +0100)]
GPU: Fix wrong socket value struct

This was causing bad behavior of the node Normal.

22 months agoEevee: Fix non normalized Normals in BSDFs and Layer Weight
Clément Foucault [Tue, 6 Nov 2018 18:44:13 +0000 (19:44 +0100)]
Eevee: Fix non normalized Normals in BSDFs and Layer Weight

Although the normal was normalized when evaluating the lighting, the normal
is often used for other purpose. In this case using the non normalized
normal maybe the source of errors.

22 months agoGPU: Cleanup: Vectorize operations and use MADD
Clément Foucault [Tue, 6 Nov 2018 18:36:03 +0000 (19:36 +0100)]
GPU: Cleanup: Vectorize operations and use MADD

22 months agoEevee: Improve Hashed Alpha transparency by reducing noise size
Clément Foucault [Tue, 6 Nov 2018 15:49:05 +0000 (16:49 +0100)]
Eevee: Improve Hashed Alpha transparency by reducing noise size

This only affect renders and static viewport accumulation.
It reduces helps reduce noise when lots of half transparent surfaces

22 months agoEevee: Support monochromatic Transparent BSDF correctly
Clément Foucault [Tue, 6 Nov 2018 13:53:54 +0000 (14:53 +0100)]
Eevee: Support monochromatic Transparent BSDF correctly

This fits Cycles better even if it is only for grey scale values. This only
work if the blend mode is Alpha Blend or Alpha Hashed.

22 months agoCleanup: naming (inconsistent paint_mode term)
Campbell Barton [Tue, 6 Nov 2018 22:43:07 +0000 (09:43 +1100)]
Cleanup: naming (inconsistent paint_mode term)

22 months agoCleanup: use BKE_brush_tool_get/set macros
Campbell Barton [Tue, 6 Nov 2018 21:42:15 +0000 (08:42 +1100)]
Cleanup: use BKE_brush_tool_get/set macros

Also add API call WM_toolsystem_ref_sync_from_context
(was in rna_workspace_api.c)

22 months agoPaint: bring back brush switching
Campbell Barton [Tue, 6 Nov 2018 20:17:31 +0000 (07:17 +1100)]
Paint: bring back brush switching

Was temporarily replace with code that used the tool-system,
bring back logic which cycles and toggles brushes.

Tool slots are used for the initial brush,
after that toggle or cycle is used.

22 months agoPaint: fix for creating duplicate brushes
Campbell Barton [Tue, 6 Nov 2018 10:15:17 +0000 (21:15 +1100)]
Paint: fix for creating duplicate brushes

Setting the tool added a brush if none was found
but wasn't checking for existing brushes.

22 months agoPaint: correct brush defaults
Campbell Barton [Tue, 6 Nov 2018 10:08:48 +0000 (21:08 +1100)]
Paint: correct brush defaults

22 months agoCleanup: style
Campbell Barton [Tue, 6 Nov 2018 19:53:29 +0000 (06:53 +1100)]
Cleanup: style

22 months agoUI: Move pin icon to the right in the context breadcrumbs.
Pablo Vazquez [Tue, 6 Nov 2018 21:43:12 +0000 (22:43 +0100)]
UI: Move pin icon to the right in the context breadcrumbs.

Leaves more room for the actual breadcrumbs path, and it's less intrusive.

Thanks Luciano for the suggestion!

22 months agoUI: Use icons for some operators.
Pablo Vazquez [Tue, 6 Nov 2018 21:05:05 +0000 (22:05 +0100)]
UI: Use icons for some operators.

* Area and Workspace duplicate.
* Toggle Area Fullscreen
* Operator Search
* Workspace reorder to front/back (arrows help to know which direction means front/back)

22 months agoFix broken shortcuts in F3 'operator search' menu.
Bastien Montagne [Tue, 6 Nov 2018 19:55:12 +0000 (20:55 +0100)]
Fix broken shortcuts in F3 'operator search' menu.

From own changes in that area... Now we also enforce handling shortcuts
in case relevant drawflag of searchbutton is set. Should allow to cover
all cases, hopefully.

22 months agoFix T57656: Keyframes cannot be selected in Grease Pencil Dopesheet.
Alexander Gavrilov [Tue, 6 Nov 2018 19:31:57 +0000 (22:31 +0300)]
Fix T57656: Keyframes cannot be selected in Grease Pencil Dopesheet.

Partial revert of rBf250f9256e065: GP and masks use integer
frames, so float code isn't working or even needed.

22 months agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Tue, 6 Nov 2018 19:04:06 +0000 (20:04 +0100)]
Merge branch 'master' into blender2.8

22 months agoUI: change Cycles render panels organization.
Brecht Van Lommel [Tue, 6 Nov 2018 18:52:19 +0000 (19:52 +0100)]
UI: change Cycles render panels organization.

Move geometry panels to top level, move device/OSL back to top, and
various other changes.

22 months agoFix T56055: color discrepancy between viewport and render for Filmic transforms.
Troy Sobotka [Tue, 6 Nov 2018 18:35:50 +0000 (19:35 +0100)]
Fix T56055: color discrepancy between viewport and render for Filmic transforms.

22 months agoShrinkwrap: new mode that projects along the target normal.
Alexander Gavrilov [Tue, 6 Nov 2018 18:04:53 +0000 (21:04 +0300)]
Shrinkwrap: new mode that projects along the target normal.

The Nearest Surface Point shrink method, while fast, is neither
smooth nor continuous: as the source point moves, the projected
point can both stop and jump. This causes distortions in the
deformation of the shrinkwrap modifier, and the motion of an
animated object with a shrinkwrap constraint.

This patch implements a new mode, which, instead of using the simple
nearest point search, iteratively solves an equation for each triangle
to find a point which has its interpolated normal point to or from the
original vertex. Non-manifold boundary edges are treated as infinitely
thin cylinders that cast normals in all perpendicular directions.

Since this is useful for the constraint, and having multiple
objects with constraints targeting the same guide mesh is a quite
reasonable use case, rather than calculating the mesh boundary edge
data over and over again, it is precomputed and cached in the mesh.

Reviewers: mont29

Differential Revision:

22 months agoBKE_mesh: add a utility to get edge indices from looptri.
Alexander Gavrilov [Sat, 20 Oct 2018 18:02:52 +0000 (21:02 +0300)]
BKE_mesh: add a utility to get edge indices from looptri.

Not all three sides of a tesselated mesh triangle are guaranteed
to be original mesh edges, so a somewhat complicated check is
required to detect which ones are real. It seems that until now
there was no utility function for that, only some example code.

22 months agoBLI_kdopbvh: add an option to use a priority queue in find_nearest.
Alexander Gavrilov [Sat, 20 Oct 2018 18:02:52 +0000 (21:02 +0300)]
BLI_kdopbvh: add an option to use a priority queue in find_nearest.

Simple find_nearest relies on a heuristic for efficient culling of
the BVH tree, which involves a fast callback that always updates the
result, and the caller reusing the result of the previous find_nearest
to prime the process for the next vertex.

If the callback is slow and/or applies significant restrictions on
what kind of nodes can qualify for the result, the heuristic can't
work. Thus for such tasks it is necessary to order and prune nodes
before the callback at BVH tree level using a priority queue.

Since, according to code history, for simple find_nearest the
heuristic approach is faster, this mode has to be an option.

22 months agoDefaults: disable AV Sync by default again, it breaks physics caching.
Brecht Van Lommel [Tue, 6 Nov 2018 15:55:48 +0000 (16:55 +0100)]
Defaults: disable AV Sync by default again, it breaks physics caching.

This reverts back to the 2.79 situation. The better solution would be to make
physics caching somehow simulate the skipped frames. But for now the more
important thing is to have working physics.

Ref T54943, T56352.

22 months agoUI: some reordering of Cycles panels.
Brecht Van Lommel [Tue, 6 Nov 2018 10:03:40 +0000 (11:03 +0100)]
UI: some reordering of Cycles panels.

22 months agoFix/cleanup RNA viewlayer API.
Bastien Montagne [Tue, 6 Nov 2018 16:20:49 +0000 (17:20 +0100)]
Fix/cleanup RNA viewlayer API.

RNA's ViewLayer would present 'first level' of layer collection as a
list (collection property), when it is actually now only a single item,
same as the scene's master collection.

Note: did not try to update view_layer python tests, those are already
fully broken for quiet some time I guess (they still assume
view_layer.collections to be mutable e.g.)...

22 months agoProper fix for new 'SimpleHeap' gtests...
Bastien Montagne [Tue, 6 Nov 2018 15:12:29 +0000 (16:12 +0100)]
Proper fix for new 'SimpleHeap' gtests...

This reverts reverting commit rB55324b8a2e6799300, and do proper 'cleanup' (sigh)
in gtest as well.

Sorry for the noise, did not understood what had happened here
immediately. :/

22 months agoRevert rBfee6ab18e7e9 in
Bastien Montagne [Tue, 6 Nov 2018 15:06:53 +0000 (16:06 +0100)]
Revert rBfee6ab18e7e9 in

Most certainly commite by mistake, FastHeap is not in BLI yet!

22 months agoCleanup: No need to save/restor frame buffer twice
Jacques Lucke [Tue, 6 Nov 2018 14:46:07 +0000 (15:46 +0100)]
Cleanup: No need to save/restor frame buffer twice

22 months agoGPU: frame buffer stack
Jacques Lucke [Tue, 6 Nov 2018 14:24:13 +0000 (15:24 +0100)]
GPU: frame buffer stack

Reviewers: fclem

Differential Revision:

22 months agoUI: Tooltip for context properties too verbose.
Pablo Vazquez [Tue, 6 Nov 2018 13:27:09 +0000 (14:27 +0100)]
UI: Tooltip for context properties too verbose.

"Type of active data to display and edit" is a bit too descriptive and takes
away from reading which context we're actually viewing. Also minor tweaks to
context description.

22 months agoGP: Fix unreported error moving material slots
Antonioya [Tue, 6 Nov 2018 12:08:31 +0000 (13:08 +0100)]
GP: Fix unreported error moving material slots

22 months agoMultires: Refactor propagation to the higher levels
Sergey Sharybin [Tue, 6 Nov 2018 10:44:02 +0000 (11:44 +0100)]
Multires: Refactor propagation to the higher levels

Now it is forumlated in terms of deltas, and consists of the
following steps:

- Original displacement at the reshape level are being backed up.
- New displacement is being written by the reshape routines.
- Delta of the displacement is calculated.
- Deltas are propagated to the higher levels, which also includes
  their interpolation/
- Original displacement is restored.
- New interpolated displacements are added to the original ones.

This is a base ground for the upcoming change related on using
Catmull-Clark smoothing for the deltas instead of linear
interpolation. Currently is no changes for artists, just preparing
for upcoming work.

22 months agoEevee: Make nodegroup fix recursive.
Clément Foucault [Tue, 6 Nov 2018 11:05:09 +0000 (12:05 +0100)]
Eevee: Make nodegroup fix recursive.

22 months agoEevee: Fix broken shader if only using an Ambient Occlusion node
Clément Foucault [Tue, 6 Nov 2018 11:04:28 +0000 (12:04 +0100)]
Eevee: Fix broken shader if only using an Ambient Occlusion node

This quick fix does generate some invalid uniform. Will fix that later on.

22 months agoEevee: Fix missing UBO bound if using a muted Shader to RGB node with SSS
Clément Foucault [Mon, 5 Nov 2018 19:09:04 +0000 (20:09 +0100)]
Eevee: Fix missing UBO bound if using a muted Shader to RGB node with SSS

This is a nasty bug. Because the node does not get properlly tagged as SSS
(sss_id is 0) but is still evaluated (so tagging the GPUMaterial as having
SSS). The sssProfile UBO is still declared and we need to bind something
to it.

22 months agoEevee: Correctly handle Sharp glossy/refraction BSDF nodes
Clément Foucault [Mon, 5 Nov 2018 19:07:47 +0000 (20:07 +0100)]
Eevee: Correctly handle Sharp glossy/refraction BSDF nodes

This is a quick workaround, but I don't see the point of making the
lighting functions more complex than it is now in order to optimize this
rather not so common case.

22 months agoGP: Fix Time Offset for frames before range
Antonioya [Tue, 6 Nov 2018 10:09:52 +0000 (11:09 +0100)]
GP: Fix Time Offset for frames before range

22 months agoGP: Rename variable
Antonioya [Tue, 6 Nov 2018 08:43:51 +0000 (09:43 +0100)]
GP: Rename variable

22 months agoCleanup: Use annotation for the new class
Sergey Sharybin [Tue, 6 Nov 2018 08:57:03 +0000 (09:57 +0100)]
Cleanup: Use annotation for the new class

22 months agoImplement an Armature constraint that mimics the modifier.
Alexander Gavrilov [Sun, 15 Jul 2018 17:39:02 +0000 (20:39 +0300)]
Implement an Armature constraint that mimics the modifier.

The main use one can imagine for this is adding tweak controls to
parts of a model that are already deformed by multiple other major
bones. It is natural to expect such locations to deform as if the
tweaks aren't there by default; however currently there is no easy
way to make a bone follow multiple other bones.

This adds a new constraint that implements the math behind the Armature
modifier, with support for explicit weights, bone envelopes, and dual
quaternion blending. It can also access bones from multiple armatures
at the same time (mainly because it's easier to code it that way.)

This also fixes dquat_to_mat4, which wasn't used anywhere before.

Differential Revision:

22 months agoCleanup: remove unused brushes
Campbell Barton [Tue, 6 Nov 2018 07:21:18 +0000 (18:21 +1100)]
Cleanup: remove unused brushes

22 months agoBrush: split out vertex paint tool & blend mode
Campbell Barton [Tue, 6 Nov 2018 07:06:33 +0000 (18:06 +1100)]
Brush: split out vertex paint tool & blend mode

- Vertex & weight paint now use the 'blend' setting.
- Weight paint now has it's own tool setting,
  since weight paint doesn't deal with color - we'll likely
  support different tools eventually.

22 months agoCleanup: rename fast-heap -> heap-simple
Campbell Barton [Tue, 6 Nov 2018 02:01:18 +0000 (13:01 +1100)]
Cleanup: rename fast-heap -> heap-simple

In general prefer API names don't start with adjectives
since it causes grouping of unrelated API's for completion.

22 months agoCleanup: move fast heap into own source & header
Campbell Barton [Tue, 6 Nov 2018 01:52:34 +0000 (12:52 +1100)]
Cleanup: move fast heap into own source & header

22 months agoTool System: use tool type enum to access brushes
Campbell Barton [Tue, 6 Nov 2018 01:08:39 +0000 (12:08 +1100)]
Tool System: use tool type enum to access brushes

Previously the brush names were used which had the limit that:

- Brush names that were deleted wouldn't show up in the toolbar.
- Naming collisions between user defined brushes and existing tools
  broke tool selection.

Now brushes are created as needed when tools are selected.

Note, vertex/weight paint combine tool and blend modes,
this should be split out into a separate enum.

22 months agoCleanup: style
Campbell Barton [Tue, 6 Nov 2018 01:39:40 +0000 (12:39 +1100)]
Cleanup: style

22 months agoFix/Updated Object API example.
Bastien Montagne [Mon, 5 Nov 2018 19:42:00 +0000 (20:42 +0100)]
Fix/Updated Object API example.

Was still 2.7x code... ;)

22 months agoFix (unreported) potential race condition in view_layer_bases_hash_create().
Bastien Montagne [Mon, 5 Nov 2018 19:26:17 +0000 (20:26 +0100)]
Fix (unreported) potential race condition in view_layer_bases_hash_create().

When you check for undone work before acquiring a lock that ensures you
are the only one actually doing the work, you have to redo the check
*after* acquiring said lock.

Otherwise, there is room for nasty random race condition issues...

22 months agoGP: Limit internally Time offset to something logic
Antonioya [Mon, 5 Nov 2018 18:51:22 +0000 (19:51 +0100)]
GP: Limit internally Time offset to something logic

If the offset is greater than frame range, the offset could gets some unlogic values, so now the value is normalized in the range.

22 months agoAPI Docs: gpu api introduction + examples
Jacques Lucke [Mon, 5 Nov 2018 18:26:53 +0000 (19:26 +0100)]
API Docs: gpu api introduction + examples

22 months agoGP: More tweaks to Time Offset
Antonioya [Mon, 5 Nov 2018 18:09:35 +0000 (19:09 +0100)]
GP: More tweaks to Time Offset

22 months agoBLI_heap: implement a limited but faster version of heap.
Alexander Gavrilov [Mon, 5 Nov 2018 16:14:40 +0000 (19:14 +0300)]
BLI_heap: implement a limited but faster version of heap.

If the user only needs insertion and removal from top, there is
no need to allocate and manage separate HeapNode objects: the
data can be stored directly in the main tree array.

This measured a 24% FPS increase on a ~50% heap-heavy workload.

Reviewers: brecht

Differential Revision:

22 months agoGP: Fix Time Offset bug when use range
Antonioya [Mon, 5 Nov 2018 17:35:34 +0000 (18:35 +0100)]
GP: Fix Time Offset bug when use range

The frames greater than frame range were wrongly calculated.

22 months agoWireframe: Extend Xray slider range
Clément Foucault [Mon, 5 Nov 2018 15:30:22 +0000 (16:30 +0100)]
Wireframe: Extend Xray slider range

This makes it possible to bypass the depth dithering effect at the cost
of less accurate depth perception.

22 months agoEevee: Fix "Show Irradiance/cubemap" icons
Clément Foucault [Mon, 5 Nov 2018 11:53:54 +0000 (12:53 +0100)]
Eevee: Fix "Show Irradiance/cubemap" icons

22 months agoUI: Make the grid alpha themable
Clément Foucault [Mon, 5 Nov 2018 11:53:26 +0000 (12:53 +0100)]
UI: Make the grid alpha themable

Now that the 3d grid is infinite, antialiased, not occluded, and overlaid
on top of rendered view, being able to decrease its opacity to reduce
visual strain is a must.

22 months agoDRW: Fix crash with deferred compilation
Clément Foucault [Sun, 4 Nov 2018 19:01:58 +0000 (20:01 +0100)]
DRW: Fix crash with deferred compilation

22 months agoEdit Mesh: Fix wire opacity when not rotating the view in Xray mode
Clément Foucault [Sun, 4 Nov 2018 19:01:25 +0000 (20:01 +0100)]
Edit Mesh: Fix wire opacity when not rotating the view in Xray mode

22 months agoLightProbe: Fix description of influence type
Clément Foucault [Sun, 4 Nov 2018 18:57:23 +0000 (19:57 +0100)]
LightProbe: Fix description of influence type

22 months agoGP: Change Lock icon and Popover title
Antonioya [Mon, 5 Nov 2018 15:28:37 +0000 (16:28 +0100)]
GP: Change Lock icon and Popover title

22 months agoUI VSE: Use icon for Refresh Sequencer button in the header.
Pablo Vazquez [Mon, 5 Nov 2018 14:34:13 +0000 (15:34 +0100)]
UI VSE: Use icon for Refresh Sequencer button in the header.

22 months agoUI VSE: Rename submode Image Preview to Preview.
Pablo Vazquez [Mon, 5 Nov 2018 14:33:14 +0000 (15:33 +0100)]
UI VSE: Rename submode Image Preview to Preview.

It's confusing that it says Image when it's also video or final result.
And also since the third option is called Sequencer/Preview, having the
others called Sequencer, and Preview, makes sense.

22 months agoBLI_kdopbvh: reduce branching in calc_nearest_point_squared.
Alexander Gavrilov [Sun, 4 Nov 2018 09:26:49 +0000 (12:26 +0300)]
BLI_kdopbvh: reduce branching in calc_nearest_point_squared.

This lets the compiler use min/max instructions for 4.5% FPS
improvement in Shrinkwrap to Nearest Surface Point.

22 months agoBLI_heap: optimize heap_swap, heap_down and heap_up.
Alexander Gavrilov [Sun, 4 Nov 2018 09:17:09 +0000 (12:17 +0300)]
BLI_heap: optimize heap_swap, heap_down and heap_up.

The index field of nodes is supposed to be its actual index, so
there is no need to read it in swap. On a 64-bit processor i and
j are already in registers, so this removes two memory reads.

In addition, cache the tree pointer, use branch hints, and
put the most frequently accessed 'value' field at 0 offset.

Produced a 20% FPS improvement for a 50% heap-heavy workload.

22 months agoUI VSE: Rename OpenGL Render to Sequence Render.
Pablo Vazquez [Mon, 5 Nov 2018 14:12:27 +0000 (15:12 +0100)]
UI VSE: Rename OpenGL Render to Sequence Render.

Follows change in the 3D Viewport.

22 months agoUI: Move Sync Markers from View to Marker menu.
Pablo Vazquez [Mon, 5 Nov 2018 14:11:18 +0000 (15:11 +0100)]
UI: Move Sync Markers from View to Marker menu.

In Dopesheet and Sequencer. Suggested by tintwotin in DevTalk, thanks!

22 months agoGP: Add new layer above active layer
Antonioya [Mon, 5 Nov 2018 08:57:30 +0000 (09:57 +0100)]
GP: Add new layer above active layer

Before, the layer was added to tail always, but this was weird for 2D animators.

22 months agoPaint: setting the brush now updates tool slots
Campbell Barton [Mon, 5 Nov 2018 05:20:15 +0000 (16:20 +1100)]
Paint: setting the brush now updates tool slots

Adding a brush wasn't refreshing the tool-system (left blank topbar).

22 months agoPaint: add tool offset & mode to runtime data
Campbell Barton [Mon, 5 Nov 2018 05:18:43 +0000 (16:18 +1100)]
Paint: add tool offset & mode to runtime data

It was getting too impractical to call BKE_paint_brush_tool_info
which needed to lookup the scene pointers.

Now each store tool offset and brush mode in 'Paint.runtime'

22 months agoMissing from last commit
Campbell Barton [Mon, 5 Nov 2018 04:46:08 +0000 (15:46 +1100)]
Missing from last commit

22 months agoPaint: add BKE_paint_ensure to initialize toolsettings
Campbell Barton [Mon, 5 Nov 2018 04:31:25 +0000 (15:31 +1100)]
Paint: add BKE_paint_ensure to initialize toolsettings

Each mode had its own logic for initializing paint structs,
move to a single function.

Also remove "BKE_brush_get_gpencil_paint", entering grease pencil
mode is responsible for ensuring the data is created.

22 months agoCleanup: avoid using instance to get enum
Campbell Barton [Mon, 5 Nov 2018 02:54:43 +0000 (13:54 +1100)]
Cleanup: avoid using instance to get enum

22 months agoCleanup: use bool
Campbell Barton [Mon, 5 Nov 2018 02:22:49 +0000 (13:22 +1100)]
Cleanup: use bool

22 months agoUI: Add back line to curve map
Campbell Barton [Mon, 5 Nov 2018 02:04:43 +0000 (13:04 +1100)]
UI: Add back line to curve map

D3894 by @charlie with edits

22 months agoUI: rename Cursor 'Depth' -> 'Surface Project'
Campbell Barton [Mon, 5 Nov 2018 01:08:51 +0000 (12:08 +1100)]
UI: rename Cursor 'Depth' -> 'Surface Project'

22 months agoPyAPI: use keywords for ToolDef.from_fn.with_args
Campbell Barton [Mon, 5 Nov 2018 00:57:37 +0000 (11:57 +1100)]
PyAPI: use keywords for ToolDef.from_fn.with_args

Enforces explicit names,
allows for keywords to be forwarded to the dictionary.

22 months agoCleanup: correct last commit, also use font_id var
Campbell Barton [Mon, 5 Nov 2018 00:04:32 +0000 (11:04 +1100)]
Cleanup: correct last commit, also use font_id var

22 months agoGizmo: use fonts for drawing 3D axis characters
Campbell Barton [Sun, 4 Nov 2018 23:44:30 +0000 (10:44 +1100)]
Gizmo: use fonts for drawing 3D axis characters

22 months agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Sun, 4 Nov 2018 23:30:33 +0000 (00:30 +0100)]
Merge branch 'master' into blender2.8

22 months agoFix various Freestyle rendering bugs.
Brecht Van Lommel [Sun, 4 Nov 2018 21:34:20 +0000 (22:34 +0100)]
Fix various Freestyle rendering bugs.

22 months agoGizmo: tweak 3D view navigation axis sizes
Campbell Barton [Sun, 4 Nov 2018 21:31:31 +0000 (08:31 +1100)]
Gizmo: tweak 3D view navigation axis sizes

This now matches original design more closely, see: T54723.

22 months agoFix missing NULL check initializing paint tools
Campbell Barton [Sun, 4 Nov 2018 20:15:47 +0000 (07:15 +1100)]
Fix missing NULL check initializing paint tools

22 months agoTool System: support passing in args to ToolDef functions
Campbell Barton [Sun, 4 Nov 2018 19:57:01 +0000 (06:57 +1100)]
Tool System: support passing in args to ToolDef functions

Needed since class aren't yet defined
so we can't access their namespace.

This avoids intermediate draw functions.

22 months agoCleanup: style, use ARRAY_SET_ITEMS macro
Campbell Barton [Sun, 4 Nov 2018 20:11:23 +0000 (07:11 +1100)]
Cleanup: style, use ARRAY_SET_ITEMS macro

22 months agoGP: New API to move layers in layer list
Antonioya [Sun, 4 Nov 2018 19:56:38 +0000 (20:56 +0100)]
GP: New API to move layers in layer list

This can be required  in som production scripts

22 months agoFix T57388: Blender Internal + Freestyle viewport render wrongly using FSAA.
Irie Shinsuke [Sun, 4 Nov 2018 19:34:02 +0000 (20:34 +0100)]
Fix T57388: Blender Internal + Freestyle viewport render wrongly using FSAA.