21 months agoBLI: New Edgehash and EdgeSet implementation
Jacques Lucke [Thu, 13 Dec 2018 10:21:31 +0000 (11:21 +0100)]
BLI: New Edgehash and EdgeSet implementation

The new data structure uses open addressing instead of chaining to resolve collisions in the hash table.

This new structure was never slower than the old implementation in my tests. Code that first inserts all edges and then iterates through all edges (e.g. to remove duplicates) benefits the most, because the `EdgeHashIterator` becomes a simple for loop over a continuous array.

Reviewer: campbellbarton

Differential Revision: D4050

21 months agoArmature Edit Mode: improve box/lasso select
Campbell Barton [Thu, 13 Dec 2018 08:05:11 +0000 (19:05 +1100)]
Armature Edit Mode: improve box/lasso select

Mostly rewrite logic which now matches (de)select picking,
share between both operators.

- Support all selection operations (eSelectOp), fixes T59255.

- Add function that selects using 'BONESEL_*' flags & eSelectOp.
  This avoids lasso & box select having to handle selection flushing.

- Fix strange behavior with lasso where selecting a bone in a chain
  would only select the tip (from 2.7x).

21 months agoCleanup: use doxy grouping for view3d select
Campbell Barton [Thu, 13 Dec 2018 02:04:25 +0000 (13:04 +1100)]
Cleanup: use doxy grouping for view3d select

Easier to navigate, avoid mixing up functionality across the file.

21 months agoCleanup: style
Campbell Barton [Thu, 13 Dec 2018 01:30:38 +0000 (12:30 +1100)]
Cleanup: style

21 months agoCleanup: replace ifdef w/ stub
Campbell Barton [Thu, 13 Dec 2018 01:20:42 +0000 (12:20 +1100)]
Cleanup: replace ifdef w/ stub

21 months agoGizmo: multi-object pose-mode gizmo positioning
Campbell Barton [Thu, 13 Dec 2018 00:41:45 +0000 (11:41 +1100)]
Gizmo: multi-object pose-mode gizmo positioning

21 months agoGizmo: use general active center calculation
Campbell Barton [Wed, 12 Dec 2018 23:51:37 +0000 (10:51 +1100)]
Gizmo: use general active center calculation

There are some minor differences in center calculation but I don't think
they're important, if so we can update the code.

- Edit-bone uses head (instead of the middle when both are selected).
- Edit-bone flag for restricting components uses the selection instead
  of the active bone.

21 months agoCleanup: de-duplicate active item center access
Campbell Barton [Wed, 12 Dec 2018 23:37:01 +0000 (10:37 +1100)]
Cleanup: de-duplicate active item center access

21 months agoTemplates: remove redundant directory init
Campbell Barton [Wed, 12 Dec 2018 20:22:22 +0000 (07:22 +1100)]
Templates: remove redundant directory init

This is now handled when versioning all startups.

21 months agoFix building w/o bullet
Campbell Barton [Wed, 12 Dec 2018 19:38:55 +0000 (06:38 +1100)]
Fix building w/o bullet

21 months agoFix T59248: Crash in Grease Pencil Edit mode when adding Annotation
Antonioya [Wed, 12 Dec 2018 18:48:24 +0000 (19:48 +0100)]
Fix T59248: Crash in Grease Pencil Edit mode when adding Annotation

21 months agoFix (unreported) Broken rigidbody requirements when adding objects to a RB collection.
Bastien Montagne [Wed, 12 Dec 2018 16:21:37 +0000 (17:21 +0100)]
Fix (unreported) Broken rigidbody requirements when adding objects to a RB collection.

We have to ensure objects get expected RB data, when they are added to a
RB collection...

21 months agoFix T59208: Error when loading reference/background image in edit mode
Jacques Lucke [Wed, 12 Dec 2018 15:38:54 +0000 (16:38 +0100)]
Fix T59208: Error when loading reference/background image in edit mode

21 months agoFix T59234: Crash when enter in Edit mode
Clément Foucault [Wed, 12 Dec 2018 14:18:32 +0000 (15:18 +0100)]
Fix T59234: Crash when enter in Edit mode

Edit mode triangles does always need to have access to faces for visibility
and select/active flags.

21 months agoMesh Batch Cache: Fix crash when using edit mode normal display.
Clément Foucault [Wed, 12 Dec 2018 13:58:06 +0000 (14:58 +0100)]
Mesh Batch Cache: Fix crash when using edit mode normal display.

21 months agoFix T58450: Skin modifier not working if applied after subsurf
Sergey Sharybin [Wed, 12 Dec 2018 14:06:39 +0000 (15:06 +0100)]
Fix T58450: Skin modifier not working if applied after subsurf

21 months agoFix transform gizmo showing with active element pivot point and no selection.
Brecht Van Lommel [Wed, 12 Dec 2018 13:20:10 +0000 (14:20 +0100)]
Fix transform gizmo showing with active element pivot point and no selection.

It should be possible to use this when the active element is unselected, but
there still needs to be something else selected. Otherwise it is not possible
to deselect all as a way to get the gizmo out of the way.

21 months agoUI: use consistent subdivision modifier name when creating from shortcuts.
Brecht Van Lommel [Wed, 12 Dec 2018 12:04:29 +0000 (13:04 +0100)]
UI: use consistent subdivision modifier name when creating from shortcuts.

21 months agoPoint API doc to proper path.
Bastien Montagne [Wed, 12 Dec 2018 11:29:58 +0000 (12:29 +0100)]
Point API doc to proper path.

We'll have to update that again once we move 2.8 to master...

21 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Wed, 12 Dec 2018 11:04:17 +0000 (12:04 +0100)]
Merge branch 'master' into blender2.8

21 months agoFix T59213: Application menu links to outdated version of Python API.
Bastien Montagne [Wed, 12 Dec 2018 10:55:40 +0000 (11:55 +0100)]
Fix T59213: Application menu links to outdated version of Python API.

Somehow those links were forgotten when we renamed API doc to simpler
names last year...

21 months agoKeymap: event type filter w/ finding keymap items
Campbell Barton [Wed, 12 Dec 2018 10:39:55 +0000 (21:39 +1100)]
Keymap: event type filter w/ finding keymap items

Now its possibly to ask for only keyboard/mouse/ndof events
when finding key map items.

21 months agoFix T59133: Area light size not updating from viewport gizmo.
Bastien Montagne [Wed, 12 Dec 2018 09:43:21 +0000 (10:43 +0100)]
Fix T59133: Area light size not updating from viewport gizmo.

When we are directly affecting DNA, we need to handle update ourself...

21 months agoPyTemplates operator_modal_timer: update to 2.8
Philipp Oeser [Wed, 12 Dec 2018 08:34:34 +0000 (09:34 +0100)]
PyTemplates operator_modal_timer: update to 2.8

use keyword argument

Fixes T59232

21 months agostartup: default file selector to a useful path
Campbell Barton [Wed, 12 Dec 2018 05:51:44 +0000 (16:51 +1100)]
startup: default file selector to a useful path

Was initialized to '/home/', use BKE_appdir_folder_default instead.

21 months agoFix action-zones showing up as shortcuts
Campbell Barton [Wed, 12 Dec 2018 04:52:34 +0000 (15:52 +1100)]
Fix action-zones showing up as shortcuts

Toggle fullscreen area for eg, was showing the action-zone instead of
the key binding.

21 months agoKeymap: refactor keymap item find logic
Campbell Barton [Wed, 12 Dec 2018 04:35:47 +0000 (15:35 +1100)]
Keymap: refactor keymap item find logic

Pass a function to filter items to allow lookups to be more selective.

21 months agoFix T59170: Box select ignores modifiers-keys once tool option is set
Campbell Barton [Wed, 12 Dec 2018 03:26:43 +0000 (14:26 +1100)]
Fix T59170: Box select ignores modifiers-keys once tool option is set

- Key-map items properties now override tool-options
  so modifier keys can have different behavior to the default action.

- Box & circle select now have `wait_for_input` properties
  instead of detecting this based on selection options being set or not.
  This relied on the key-map setting properties which may need to be
  initialize from the tool settings.

21 months agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 12 Dec 2018 01:55:20 +0000 (12:55 +1100)]
Merge branch 'master' into blender2.8

21 months agoCleanup: use colon separator after parameter
Campbell Barton [Wed, 12 Dec 2018 01:50:58 +0000 (12:50 +1100)]
Cleanup: use colon separator after parameter

Helps separate variable names from descriptive text.
Was already used in some parts of the code,
double space and dashes were used elsewhere.

21 months agoDocs: correct doxy comments
Campbell Barton [Wed, 12 Dec 2018 01:17:42 +0000 (12:17 +1100)]
Docs: correct doxy comments

21 months agoKeymap: add Shift-F1..3 editor shortcuts
Campbell Barton [Wed, 12 Dec 2018 00:35:30 +0000 (11:35 +1100)]
Keymap: add Shift-F1..3 editor shortcuts

Some frequently used editors didn't have F-key access.

21 months agoFix T59211: Edit-mesh display crashes
Campbell Barton [Wed, 12 Dec 2018 00:12:34 +0000 (11:12 +1100)]
Fix T59211: Edit-mesh display crashes

Caused by ae1f563899de4

21 months agoFix Cycles baking active/cage
Dalai Felinto [Fri, 7 Dec 2018 19:01:45 +0000 (17:01 -0200)]
Fix Cycles baking active/cage

Basically what we address here is to make sure the active object and the cage
are not interferring with the baking result (e.g., when baking Combined).

To do so, we take advantage of the fact that we create our own depsgraph
for baking. So now we can change the cowed objects, instead of the
original ones.

Note: There is still a way to get a crash. If you try to bake from
selected to active when is_cage, but with no cage object, we get an

BLI_assert failed: //source/blender/blenkernel/intern/DerivedMesh.c
mesh_calc_modifiers(), at
(((Mesh *)ob->data)->id.tag & LIB_TAG_COPIED_ON_WRITE_EVAL_RESULT) == 0

We can bypass this by passing ob_low instead of ob_low_eval to
bake_mesh_new_from_object on object_bake_api.c:847 . But then the edge
split modifier change will take no effect.

21 months agoFix T59210: Measure tool crash w/o overlays/gizmos
Campbell Barton [Tue, 11 Dec 2018 23:44:04 +0000 (10:44 +1100)]
Fix T59210: Measure tool crash w/o overlays/gizmos

21 months agoFix rulers being removed on click
Campbell Barton [Tue, 11 Dec 2018 23:04:24 +0000 (10:04 +1100)]
Fix rulers being removed on click

21 months agoRevert "Tweak UI message of Ruler tool."
Campbell Barton [Tue, 11 Dec 2018 22:52:49 +0000 (09:52 +1100)]
Revert "Tweak UI message of Ruler tool."

This reverts commit 1bf0a4f4d0d8c7e748f40d634aebf55eb37435ba.

This is a bug, clicks shouldn't remove rulers since it's too easy
to accidentally click instead of dragging.

21 months agoFix toolbar key-accelerator w/ LMB select
Campbell Barton [Tue, 11 Dec 2018 22:39:36 +0000 (09:39 +1100)]
Fix toolbar key-accelerator w/ LMB select

Tweak events were masking hotkey access.

Reported in T55162

21 months agoMerge remote-tracking branch 'origin/master' into blender2.8
Ray Molenkamp [Tue, 11 Dec 2018 22:14:00 +0000 (15:14 -0700)]
Merge remote-tracking branch 'origin/master' into blender2.8

21 months agodependencies windows: Replace pthreads-win32 2.9.1 with pthreads4w 3.0.0
Ray Molenkamp [Tue, 11 Dec 2018 22:12:56 +0000 (15:12 -0700)]
dependencies windows: Replace pthreads-win32 2.9.1 with pthreads4w 3.0.0

maintenance seems to have stopped for pthreads-win32

21 months agoGPUState: Change isolated glLineWidth usage to GPU_line_width
Clément Foucault [Tue, 11 Dec 2018 22:05:36 +0000 (23:05 +0100)]
GPUState: Change isolated glLineWidth usage to GPU_line_width

21 months agoGPUTexture: Add debug print for cubemap textures
Clément Foucault [Tue, 11 Dec 2018 21:30:41 +0000 (22:30 +0100)]
GPUTexture: Add debug print for cubemap textures

21 months agoGPUTexture: Fix memory statistics not working for Multisamples textures
Clément Foucault [Tue, 11 Dec 2018 21:10:16 +0000 (22:10 +0100)]
GPUTexture: Fix memory statistics not working for Multisamples textures

and also output the vram footprint of the texture at the creation.

Also output the full texture memory usage if alloc fails.

21 months agoDRW: Fix redundant texture creation
Clément Foucault [Tue, 11 Dec 2018 20:25:17 +0000 (21:25 +0100)]
DRW: Fix redundant texture creation

21 months agoGPUState: Remove glLineWidth warnings about size 0x0
Clément Foucault [Tue, 11 Dec 2018 20:15:39 +0000 (21:15 +0100)]
GPUState: Remove glLineWidth warnings about size 0x0

21 months agoGPUTexture: Add debug output to check what texture was created
Clément Foucault [Tue, 11 Dec 2018 20:14:52 +0000 (21:14 +0100)]
GPUTexture: Add debug output to check what texture was created

21 months agoUI: fix enum icon buttons haveing different size.
Harley Acheson [Tue, 11 Dec 2018 10:23:13 +0000 (11:23 +0100)]
UI: fix enum icon buttons haveing different size.

The alignment makes it so the button edges overlap, now one pixel is removed
to account for this.

Differential Revision:

21 months agoFFmpeg: enable multi-threaded encoding of multiple frames, for a ~20% speedup.
Mal Duffin [Tue, 11 Dec 2018 19:38:01 +0000 (20:38 +0100)]
FFmpeg: enable multi-threaded encoding of multiple frames, for a ~20% speedup.

This enables ffmpeg to encode each frame in its own thread. However in most
cases Blender does not pass frames to ffmpeg fast enough to actually use the
more than two threads. In some tests the speed was measured to be about 20%.
If other parts of the video sequencer get optimized, this should improve.

Differential Revision:

21 months agoRNA: provide access to bone parent transform math from Python.
Alexander Gavrilov [Sat, 8 Dec 2018 06:17:57 +0000 (09:17 +0300)]
RNA: provide access to bone parent transform math from Python.

Applying the effect of bone parent is much more complicated than
simple matrix multiplication because of the various flags like
Inherit Scale. Thus it is reasonable to provide access to this
math from Python for complicated rest pose related manipulations.

The simple case of this is handled by Object.convert_space, so
the new method is only needed for complex tasks.

Differential Revision:

21 months agoEdit Mesh: Make edit cage stick to the mesh when possible
Clément Foucault [Tue, 11 Dec 2018 17:21:12 +0000 (18:21 +0100)]
Edit Mesh: Make edit cage stick to the mesh when possible

and correctly offset it when it's not possible, otherwise we get zfighting.

21 months agoDRW: Add polygon offset mode.
Clément Foucault [Tue, 11 Dec 2018 17:18:36 +0000 (18:18 +0100)]
DRW: Add polygon offset mode.

21 months agoFix T58266 : Bottom half of meshes are transparent with eevee render
Clément Foucault [Tue, 11 Dec 2018 12:29:32 +0000 (13:29 +0100)]
Fix T58266 : Bottom half of meshes are transparent with eevee render

21 months agoMerge branch 'master' into blender2.8
Sergey Sharybin [Tue, 11 Dec 2018 14:56:04 +0000 (15:56 +0100)]
Merge branch 'master' into blender2.8

21 months agoUpdate code to be compatible with OIIO 2.0
Sergey Sharybin [Tue, 11 Dec 2018 11:17:26 +0000 (12:17 +0100)]
Update code to be compatible with OIIO 2.0

There are some changes in API of OpenImageIO, but those are quite
simple to keep working with older and newer library versions.

Reviewers: brecht

Reviewed By: brecht

Differential Revision:

21 months agoFix T59001: UV Editor - Crash when hiding all UVs while 3D view is open
Philipp Oeser [Tue, 11 Dec 2018 13:50:03 +0000 (14:50 +0100)]
Fix T59001: UV Editor - Crash when hiding all UVs while 3D view is open
and sync selection enabled

Reviewers: brecht

Maniphest Tasks: T59001

Differential Revision:

21 months agoImplement BMesh.from_object
Philipp Oeser [Tue, 11 Dec 2018 12:55:42 +0000 (13:55 +0100)]
Implement BMesh.from_object

Fixes T59069

Reviewers: sergey, brecht

Maniphest Tasks: T59069

Differential Revision:

21 months agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Tue, 11 Dec 2018 14:18:43 +0000 (15:18 +0100)]
Merge branch 'master' into blender2.8

21 months agoCleanup: remove accidentally committed debug code.
Brecht Van Lommel [Tue, 11 Dec 2018 14:18:01 +0000 (15:18 +0100)]
Cleanup: remove accidentally committed debug code.

21 months agoCycles: Add strict assert when assigning input socket stack offset
Sergey Sharybin [Tue, 11 Dec 2018 13:34:28 +0000 (14:34 +0100)]
Cycles: Add strict assert when assigning input socket stack offset

21 months agoCycles: Remove old nasty workaround
Sergey Sharybin [Tue, 11 Dec 2018 13:33:24 +0000 (14:33 +0100)]
Cycles: Remove old nasty workaround

It used to be used for some sort of ignoring automatically
generated bump nodes. But nowadays it causes one of the shaders
in Classroom demo file to be compiled wrong.

21 months agoFix macOS buildbot build, wrong CUDA version check.
Brecht Van Lommel [Tue, 11 Dec 2018 13:14:52 +0000 (14:14 +0100)]
Fix macOS buildbot build, wrong CUDA version check.

21 months agoCycles: Cleanup, indentation
Sergey Sharybin [Tue, 11 Dec 2018 11:57:57 +0000 (12:57 +0100)]
Cycles: Cleanup, indentation

21 months agoFix crash in do-versions after recent changes
Sergey Sharybin [Tue, 11 Dec 2018 11:44:29 +0000 (12:44 +0100)]
Fix crash in do-versions after recent changes

No one can simply go into a datablock before it was linked.

21 months agoProper fix for building without Bullet
Sergey Sharybin [Tue, 11 Dec 2018 11:37:04 +0000 (12:37 +0100)]
Proper fix for building without Bullet

Stick to an existing way of dealing with disabled feature.

21 months agoFix T59174: Missing particles update
Sergey Sharybin [Tue, 11 Dec 2018 10:15:12 +0000 (11:15 +0100)]
Fix T59174: Missing particles update

21 months agoFix T59005: no FCurve cleanup in the Timeline
Philipp Oeser [Mon, 10 Dec 2018 16:05:51 +0000 (17:05 +0100)]
Fix T59005: no FCurve cleanup in the Timeline

as opposed to the 'real' Dopesheet e.g. keyframes were not merged when
placed on the same frame

Reviewers: brecht, aligorith, angavrilov

Maniphest Tasks: T59005

Differential Revision:

21 months agoFix T53166: Shift click gizmo axis lock broken
Campbell Barton [Tue, 11 Dec 2018 05:42:00 +0000 (16:42 +1100)]
Fix T53166: Shift click gizmo axis lock broken

21 months agoCleanup: use BKE_object_* prefix for object API
Campbell Barton [Tue, 11 Dec 2018 04:08:18 +0000 (15:08 +1100)]
Cleanup: use BKE_object_* prefix for object API

Also minor style cleanup.

21 months agoFix T57934: non-empty duplicators don't render
Campbell Barton [Tue, 11 Dec 2018 04:02:58 +0000 (15:02 +1100)]
Fix T57934: non-empty duplicators don't render

Convert non-empty duplicators to empties.

21 months agoDNA: version patch Camera.drawsize to twice it's value
Campbell Barton [Tue, 11 Dec 2018 03:30:24 +0000 (14:30 +1100)]
DNA: version patch Camera.drawsize to twice it's value

Draw size represented half the actual size used.

21 months agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 11 Dec 2018 03:05:16 +0000 (14:05 +1100)]
Merge branch 'master' into blender2.8

21 months agoFix T59161: Edge Rotate CW is CCW
Campbell Barton [Tue, 11 Dec 2018 03:03:42 +0000 (14:03 +1100)]
Fix T59161: Edge Rotate CW is CCW

21 months agoGizmo: update camera ortho-size
Campbell Barton [Tue, 11 Dec 2018 02:19:44 +0000 (13:19 +1100)]
Gizmo: update camera ortho-size

This needs to be improved further,
for now it shows in the right location.

21 months agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 11 Dec 2018 02:10:56 +0000 (13:10 +1100)]
Merge branch 'master' into blender2.8

21 months agoFix T52051: Orthographic camera display size error
Campbell Barton [Tue, 11 Dec 2018 02:02:39 +0000 (13:02 +1100)]
Fix T52051: Orthographic camera display size error

It was impractical to create a small orthographic camera with a usable
size in the view-port.

No longer scale the draw-size by ortho-size.

21 months agoFix T58850: NDOF navigation guide not shown
Campbell Barton [Tue, 11 Dec 2018 01:34:37 +0000 (12:34 +1100)]
Fix T58850: NDOF navigation guide not shown

21 months agoWorkbench: Fix shadow artifact caused by degenerate triangles
Clément Foucault [Tue, 11 Dec 2018 00:23:32 +0000 (01:23 +0100)]
Workbench: Fix shadow artifact caused by degenerate triangles

Fixes T58735 Incorrect workbench shadow from n-gons

This also optimize the degenerate triangle detection by searching if
their area is near 0.0.

21 months agoFix building w/o bullet
Campbell Barton [Mon, 10 Dec 2018 23:07:43 +0000 (10:07 +1100)]
Fix building w/o bullet

21 months agoDRW: Deprecate / Remove DRW_STATE_STIPPLE_*
Clément Foucault [Mon, 10 Dec 2018 22:17:07 +0000 (23:17 +0100)]
DRW: Deprecate / Remove DRW_STATE_STIPPLE_*

This was unused and used the old drawing paradygm

21 months agoObject Mode: Make point clouds a bit less like uniform blobs
Clément Foucault [Mon, 10 Dec 2018 22:16:03 +0000 (23:16 +0100)]
Object Mode: Make point clouds a bit less like uniform blobs

Also this display is optimized. It does not use blending and pixel discard.
Working with scanned data should be more pleasant with this.

A better option would be to use gl_FragDepth to have a better sense of
volume but this discards early depth test.

21 months agoGP: Fix problems with stroke Caps
Antonioya [Mon, 10 Dec 2018 19:04:17 +0000 (20:04 +0100)]
GP: Fix problems with stroke Caps

Now the start cap is done and during drawing the end cap is not set because needs to have a UV calculated and this is not done while drawing.

21 months agoGP: Set Brush default material when add new GP Object
Antonioya [Mon, 10 Dec 2018 15:54:49 +0000 (16:54 +0100)]
GP: Set Brush default material when add new GP Object

Before the brush color was not set equal to object active color.

21 months agoGP: Remove Object Onion Skin switch
Antonioya [Mon, 10 Dec 2018 15:42:40 +0000 (16:42 +0100)]
GP: Remove Object Onion Skin switch

It was confusing to have two switches.

21 months agoGP: Replace Clamp icon
Antonioya [Mon, 10 Dec 2018 15:21:12 +0000 (16:21 +0100)]
GP: Replace Clamp icon

21 months agoGP: Make Onion Skin ON as default RNA value
Antonioya [Mon, 10 Dec 2018 13:33:10 +0000 (14:33 +0100)]
GP: Make Onion Skin ON as default RNA value

21 months agoGP: Enable Object Onion Skin by default
Antonioya [Mon, 10 Dec 2018 09:41:47 +0000 (10:41 +0100)]
GP: Enable Object Onion Skin by default

Now, the main switchis on, and the layer onion skin is off.

21 months agoEdit Mesh: Opti: Reduce max_vertices in geometry shader
Clément Foucault [Mon, 10 Dec 2018 17:56:12 +0000 (18:56 +0100)]
Edit Mesh: Opti: Reduce max_vertices in geometry shader

This is a really small win that had been overlooked when optimizing the

21 months agoEdit Mesh: Fix edges poking through the verts points in xray/seethrough mode
Clément Foucault [Mon, 10 Dec 2018 17:51:57 +0000 (18:51 +0100)]
Edit Mesh: Fix edges poking through the verts points in xray/seethrough mode

21 months agoEdit Mesh: Make "fresnel effect" not transparent but mix between 2 colors
Clément Foucault [Mon, 10 Dec 2018 17:30:37 +0000 (18:30 +0100)]
Edit Mesh: Make "fresnel effect" not transparent but mix between 2 colors

Alpha blending is causing too many issues.
Revert back to something simpler.

21 months agoEdit Mesh: Draw inner edge selected in vert edit mode if both verts selected
Clément Foucault [Mon, 10 Dec 2018 15:18:08 +0000 (16:18 +0100)]
Edit Mesh: Draw inner edge selected in vert edit mode if both verts selected

This only make the edge fully selected. There is still no gradient like in
2.79 when only one vertex is selected.

21 months agoDRW: Batch Cache: Mesh: Port edit mesh batches to batch request method
Clément Foucault [Mon, 10 Dec 2018 14:29:04 +0000 (15:29 +0100)]
DRW: Batch Cache: Mesh: Port edit mesh batches to batch request method

This also do some renaming/cleanups.

21 months agoDRW: Batch Cache: Mesh: Port more batches to batch request method
Clément Foucault [Sun, 9 Dec 2018 10:21:23 +0000 (11:21 +0100)]
DRW: Batch Cache: Mesh: Port more batches to batch request method

21 months agoDRW: Batch Cache: Add batch request system
Clément Foucault [Sat, 8 Dec 2018 19:10:20 +0000 (20:10 +0100)]
DRW: Batch Cache: Add batch request system

This makes it possible for engines to ask for batches and only fill their
data after all engine populate functions have run.
This means that, when creating the batches data we already know all the
batches that are needed for this redraw and the needed data.

This allows for less redundant data preparation and better attrib masking.
Ideally, we should run all viewports populate function before executing
the batch construction but this is not the scope of this patch.

Conversion from the old request method will be progressive and both can
coexist (see uses of mesh_create_pos_and_nor()).

21 months agoGPU: Make changes to GPUIndexBuf and GPUVertBuf to allow multithreading
Clément Foucault [Sat, 8 Dec 2018 17:15:57 +0000 (18:15 +0100)]
GPU: Make changes to GPUIndexBuf and GPUVertBuf to allow multithreading

This is a small change. We delay all gl calls at the first use of the
GPUIndexBuf / GPUVertBuf in order to be able to create multiple buffers
from different threads without having many gl contexts.

21 months agoGPU: Cleanup: Rename vbo to ibo for index buffers
Clément Foucault [Sat, 8 Dec 2018 14:53:23 +0000 (15:53 +0100)]
GPU: Cleanup: Rename vbo to ibo for index buffers

21 months agoFix T58932: Impossible to influence the particle system
Sergey Sharybin [Mon, 10 Dec 2018 16:37:30 +0000 (17:37 +0100)]
Fix T58932: Impossible to influence the particle system

21 months agoFix T58928: New Action causes crash when duplicating bone
Sergey Sharybin [Mon, 10 Dec 2018 14:59:15 +0000 (15:59 +0100)]
Fix T58928: New Action causes crash when duplicating bone

Basically, armature update is not supposed to be run in edit mode.
This worked in master and new dependency graph because nobody was
tagging armature for an update.

But with all those copy-on-write and other things we can't ensure
tag doesn't happen (and we shouldn't). So now we ensure unwanted
code is not run from the code itself.

P.S. Deeper reason of this goes to the optimization of not updating
pose channels when in edit mode. Since pose doesn't define anything
there we don't want to be bothered with a pose update after every
operation which changes it.

21 months agoCycles: Restore properties in the interface
Sergey Sharybin [Mon, 10 Dec 2018 14:54:15 +0000 (15:54 +0100)]
Cycles: Restore properties in the interface

They got lost in one of the merges it seems.

21 months agoCleanup: Variable naming
Sergey Sharybin [Mon, 10 Dec 2018 14:42:18 +0000 (15:42 +0100)]
Cleanup: Variable naming

21 months agoTweak UI message of Ruler tool.
Bastien Montagne [Mon, 10 Dec 2018 14:52:42 +0000 (15:52 +0100)]
Tweak UI message of Ruler tool.

It's much simpler to just click on one end, than dragging it outside of
view. ;)

Related to T59084.