15 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

15 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.

15 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)

15 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)

15 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.

15 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.

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

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

15 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!

15 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)

15 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.

15 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.

15 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

15 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.

15 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.

15 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:

15 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.

15 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.

15 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.

15 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.

15 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.)...

15 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. :/

15 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!

15 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

15 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:

15 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.

15 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

15 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.

15 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.

15 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.

15 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.

15 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.

15 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

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

15 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

15 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:

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

15 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.

15 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.

15 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

15 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.

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

15 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... ;)

15 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...

15 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.

15 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

15 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

15 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:

15 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.

15 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.

15 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

15 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.

15 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

15 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

15 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

15 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

15 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.

15 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.

15 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.

15 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.

15 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.

15 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!

15 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.

15 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).

15 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'

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

15 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.

15 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

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

15 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

15 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'

15 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.

15 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

15 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

15 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

15 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.

15 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.

15 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

15 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.

15 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

15 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

15 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.

15 months 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.

15 months 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.

15 months 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

15 months 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.

15 months 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

15 months 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.

15 months 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.

15 months 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

15 months 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.

15 months 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.

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

15 months 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.

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

15 months 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

15 months 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

15 months 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:

15 months 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.

15 months 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