2 years 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

2 years 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.

2 years 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.

2 years 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:

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.)...

2 years 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. :/

2 years 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!

2 years 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

2 years 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:

2 years 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.

2 years 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

2 years 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.

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

2 years 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.

2 years 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.

2 years 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.

2 years 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

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

2 years 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

2 years 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:

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

2 years 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.

2 years 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.

2 years 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

2 years 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.

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

2 years 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... ;)

2 years 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...

2 years 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.

2 years 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

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

2 years 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:

2 years 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.

2 years 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.

2 years 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

2 years 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.

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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!

2 years 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.

2 years 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).

2 years 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'

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

2 years 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.

2 years 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

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

2 years 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

2 years 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'

2 years 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.

2 years 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

2 years 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

2 years 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

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

2 years 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.

2 years 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

2 years 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.

2 years 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

2 years 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

2 years 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.

2 years agoFix assert rendering hair tests on some systems.
Brecht Van Lommel [Sun, 4 Nov 2018 19:25:57 +0000 (20:25 +0100)]
Fix assert rendering hair tests on some systems.

2 years agoFix assert rendering with denoising, after recent changes.
Brecht Van Lommel [Sun, 4 Nov 2018 19:13:55 +0000 (20:13 +0100)]
Fix assert rendering with denoising, after recent changes.

2 years agoGP: Move init code to new version section
Antonioya [Sun, 4 Nov 2018 18:52:42 +0000 (19:52 +0100)]
GP: Move init code to new version section

2 years agoFix T57611: Crash on entering Grease Pencil Sculpt Mode
Antonioya [Sun, 4 Nov 2018 18:37:03 +0000 (19:37 +0100)]
Fix T57611: Crash on entering Grease Pencil Sculpt Mode

The problem was when some layers was locked in multiedit. The cache size was not checked and gets an segment fault.

2 years agoGP: Time Offset verify range if loop is disabled
Antonioya [Sun, 4 Nov 2018 12:27:41 +0000 (13:27 +0100)]
GP: Time Offset verify range if loop is disabled

2 years agoGP: Reorganize Canvas Grid
Antonioya [Sun, 4 Nov 2018 12:00:19 +0000 (13:00 +0100)]
GP: Reorganize Canvas Grid

Now the grid is always controlled by the topbar selector and not in the canvas panel. To have two places to define orientation was confuse.

The orientation by default (no lock) is always to view plane.

2 years agoBLI_heap: add an API function to directly read the top node value.
Alexander Gavrilov [Sun, 4 Nov 2018 10:27:10 +0000 (13:27 +0300)]
BLI_heap: add an API function to directly read the top node value.

It is very commonly needed in loop conditions to check if
the items in the heap are good enough to continue.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Sun, 4 Nov 2018 07:12:58 +0000 (18:12 +1100)]
Merge branch 'master' into blender2.8

2 years agoFix ghash masking out upper bits on 64bit systems
Campbell Barton [Sun, 4 Nov 2018 05:44:28 +0000 (16:44 +1100)]
Fix ghash masking out upper bits on 64bit systems

The code this was taken from assumes a 'size_t' result,
which isn't the case here.

In practice the bucket distribution wasn't bad,
even so this was a nop so best fix.

2 years agoUI: Don't nest sculpt scrape/flatten
Campbell Barton [Sat, 3 Nov 2018 23:32:58 +0000 (10:32 +1100)]
UI: Don't nest sculpt scrape/flatten

These are different enough not to be grouped.

2 years agoCleanup: missed last commit
Campbell Barton [Sat, 3 Nov 2018 23:32:04 +0000 (10:32 +1100)]
Cleanup: missed last commit

2 years agoUI: move gpencil tool-draw code to topbar
Campbell Barton [Sat, 3 Nov 2018 23:25:27 +0000 (10:25 +1100)]
UI: move gpencil tool-draw code to topbar

The grease pencil UI was showing twice in tool properties space.
Move to top-bar because this UI is meant as quick convenience access
which is expanded on in the tool properties editor.

2 years agoCleanup: style, shadow warning
Campbell Barton [Sat, 3 Nov 2018 23:08:55 +0000 (10:08 +1100)]
Cleanup: style, shadow warning

2 years agoGP: Update Canvas grid orientation when change option
Antonioya [Sat, 3 Nov 2018 19:33:38 +0000 (20:33 +0100)]
GP: Update Canvas grid orientation when change option

2 years agoGP: Fix Time Offset when range frame is 0
Antonioya [Sat, 3 Nov 2018 19:00:41 +0000 (20:00 +0100)]
GP: Fix Time Offset when range frame is 0

2 years agoUI: Draw curve map with solid color
Charlie Jolly [Fri, 2 Nov 2018 18:56:45 +0000 (18:56 +0000)]
UI: Draw curve map with solid color

Differential Revision:

2 years agoGP: New Time Offset custom frame range parameters
Antonioya [Sat, 3 Nov 2018 16:11:38 +0000 (17:11 +0100)]
GP: New Time Offset custom frame range parameters

These parameters allow to define a frame range for the animation loop and make possible to loop a section while the scene is playing.

2 years agoGP: Fix update problems with Grid Canvas
Antonioya [Sat, 3 Nov 2018 15:18:54 +0000 (16:18 +0100)]
GP: Fix update problems with Grid Canvas

The grid canvas was not updated when changed parameters

2 years agoUI: remove grease pencil icons
Campbell Barton [Sat, 3 Nov 2018 09:33:59 +0000 (20:33 +1100)]
UI: remove grease pencil icons

Grease pencil tool now uses an icon for each tool,
previously it mapped icons to tool icons which is now not needed
because for each tool a different brush can be selected which has it's
own icon.

2 years agoUI: separate sculpt from smooth, flatten
Campbell Barton [Sat, 3 Nov 2018 09:00:30 +0000 (20:00 +1100)]
UI: separate sculpt from smooth, flatten

2 years agoGP: Use stroke and fill switches while drawing
Antonioya [Sat, 3 Nov 2018 08:58:38 +0000 (09:58 +0100)]
GP: Use stroke and fill switches while drawing

2 years agoGP: Change presets for new stroke and fill switches
Antonioya [Sat, 3 Nov 2018 08:56:51 +0000 (09:56 +0100)]
GP: Change presets for new stroke and fill switches

2 years agoUI: show brush selector in topbar
Campbell Barton [Sat, 3 Nov 2018 08:39:35 +0000 (19:39 +1100)]
UI: show brush selector in topbar

2 years agoGP: New main switches to hide stroke and fill material
Antonioya [Sat, 3 Nov 2018 07:46:21 +0000 (08:46 +0100)]
GP: New main switches to hide stroke and fill material

New parameters to switch visibility of stroke and fill

2 years agoCorrect error in last commit
Campbell Barton [Sat, 3 Nov 2018 05:54:17 +0000 (16:54 +1100)]
Correct error in last commit

2 years agoTool System: validate tool slots when setting modes
Campbell Barton [Sat, 3 Nov 2018 05:52:06 +0000 (16:52 +1100)]
Tool System: validate tool slots when setting modes

Needed for entering paint modes on new scenes.

2 years agoCleanup: move brush query into utility function
Campbell Barton [Sat, 3 Nov 2018 04:44:16 +0000 (15:44 +1100)]
Cleanup: move brush query into utility function

2 years agoCleanup: style
Campbell Barton [Sat, 3 Nov 2018 04:55:33 +0000 (15:55 +1100)]
Cleanup: style

2 years agoUI: Move Simplify panel from Scene to Render properties.
Pablo Vazquez [Sat, 3 Nov 2018 04:12:45 +0000 (05:12 +0100)]
UI: Move Simplify panel from Scene to Render properties.

It mainly contains properties that affect the final render/viewport and it's handy
to see if it's enabled or not while going through the render settings.

2 years agoUI: On markers alternate between filled/outline camera icon on selection.
Pablo Vazquez [Sat, 3 Nov 2018 03:39:40 +0000 (04:39 +0100)]
UI: On markers alternate between filled/outline camera icon on selection.

Instead of between the Camera and Camera Data as they are completely different shapes that don't indicate selection.