blender.git
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
assert:

```
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: https://developer.blender.org/D4063

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: https://developer.blender.org/D4031

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: https://developer.blender.org/D4053

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: https://developer.blender.org/D4064

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: https://developer.blender.org/D4066

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: https://developer.blender.org/D4065

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: https://developer.blender.org/D4061

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

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.

21 months agoFix T57633: Particle texture update problem
Sergey Sharybin [Mon, 10 Dec 2018 14:09:46 +0000 (15:09 +0100)]
Fix T57633: Particle texture update problem

Textures are now hooked up to the RESET operation of particle
settings, which ensures particles being re-distributed when
texture is changed.

This is limited to a direct user modifications, which matches
old behavior in 2.79.

21 months agoCleanup: Someone forgot again to do the versioning_280 handling when bumping subversion.
Bastien Montagne [Mon, 10 Dec 2018 14:06:46 +0000 (15:06 +0100)]
Cleanup: Someone forgot again to do the versioning_280 handling when bumping subversion.

Seriously... There is no point in having those subversions if one does
not take advantage of them to reduce doversion work on file load! Now we
have to raise subversion again just for that. :(

21 months agoProper fix for rigidbody collections's objects missing rb data.
Bastien Montagne [Mon, 10 Dec 2018 14:01:32 +0000 (15:01 +0100)]
Proper fix for rigidbody collections's objects missing rb data.

We cannot let those data be generated on-the-fly in RBW evaluation
anymore, since those would be added to CoW eval object and never ported
back to orig objects.

We *could* get orig objects in eval code, of course, but as in
constratints, this is not really threadsafe and future proof, depsgraph
evaluation should really write back to orig data as little as possible.

So instead, add code to ensure required data is generated to objects
when their collection is added to rigidbody world.

Note that we *may* want to clean that up once collection is no more used
by RB? On the other hand, people might want to keep those data around to
be able to switch between different setups easily... So think it's OK to
keep them at least for now.

21 months agoFix T58993: Duplicating after setting a rigid body world crashes Blender.
Bastien Montagne [Mon, 10 Dec 2018 13:10:12 +0000 (14:10 +0100)]
Fix T58993: Duplicating after setting a rigid body world crashes Blender.

There is no guarantee that object in rigidbody collection already have a
valid rgigidbody data when rebuilding deg relations, that is often
generated on-the-fly by actual rigid body simulation.

Note that this can be an issue when generating deg relations I guess...
But at least it won't crash anymore.

21 months agoFix part of T58964: Changing driver path/array index crashes
Sergey Sharybin [Mon, 10 Dec 2018 13:50:05 +0000 (14:50 +0100)]
Fix part of T58964: Changing driver path/array index crashes

The issue here is that in the new dependency graph drivers are
individual nodes which depends on what they are driving. This
means that changes to RNA path or property index should ensure
those nodes are updated. Easiest way to do so is to tag relations
for update.

21 months agoFix T59087: Empty meshes have large bound-box
Campbell Barton [Mon, 10 Dec 2018 08:27:49 +0000 (19:27 +1100)]
Fix T59087: Empty meshes have large bound-box

Initialize to default values for meshes w/o vertices,
note that zeroing for BKE_object_boundbox_calc_from_mesh
matches old derived mesh code.

21 months agoFix T59107: F3 does not work in Python console
Campbell Barton [Mon, 10 Dec 2018 06:33:36 +0000 (17:33 +1100)]
Fix T59107: F3 does not work in Python console

21 months agoFix T57086: Offset Even option is unclickable
Campbell Barton [Mon, 10 Dec 2018 05:51:53 +0000 (16:51 +1100)]
Fix T57086: Offset Even option is unclickable

21 months agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 10 Dec 2018 01:45:38 +0000 (12:45 +1100)]
Merge branch 'master' into blender2.8

21 months agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 10 Dec 2018 01:44:24 +0000 (12:44 +1100)]
Merge branch 'master' into blender2.8

21 months agoFix T53544: Undo in pose mode selects all fcurves
Campbell Barton [Mon, 10 Dec 2018 01:30:41 +0000 (12:30 +1100)]
Fix T53544: Undo in pose mode selects all fcurves

21 months agoDNA: add runtime struct to for graph & action editor
Campbell Barton [Mon, 10 Dec 2018 00:46:36 +0000 (11:46 +1100)]
DNA: add runtime struct to for graph & action editor

Move struct members, no functional change

21 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Sun, 9 Dec 2018 20:51:23 +0000 (21:51 +0100)]
Merge branch 'master' into blender2.8

Conflicts:
source/blender/makesrna/intern/rna_dynamicpaint.c

21 months agoFix T59059: Blender crashing after adding particle system and dynamic paint (Brush).
Bastien Montagne [Sun, 9 Dec 2018 20:48:37 +0000 (21:48 +0100)]
Fix T59059: Blender crashing after adding particle system and dynamic paint (Brush).

Looks like this bug has been there since ages (at least present before
2.79 official release...).

21 months agoSimplified #ifdef to not silently fail on certain platforms
Sybren A. Stüvel [Sun, 9 Dec 2018 18:24:12 +0000 (19:24 +0100)]
Simplified #ifdef to not silently fail on certain platforms

21 months agoUser Interface: Add button color for indicating that the value differs from the inter...
Lukas Stockner [Fri, 7 Dec 2018 02:26:20 +0000 (03:26 +0100)]
User Interface: Add button color for indicating that the value differs from the interpolated one

One issue that especially newer users often run into is that they accidentally reset changes to the scene by switching frame without creating a keyframe first.

Therefore, this commit adds a new color that is used to draw properties if their current value differs from the one that would be set when switching to this frame.
This works both for existing keyframes as well as for currently interpolated frames.

Unfortunately the flags in but->flag are full, so I had to move the new flag to but->drawflag and pass that to all relevant functions.

I went with orange for the color since afaics it fits with the green and yellow that are currently used for keyframe states and since it's somewhat reddish to signify that there might be something to look out for here.

Reviewers: campbellbarton, #user_interface, brecht

Reviewed By: campbellbarton

Subscribers: brecht, predoe

Differential Revision: https://developer.blender.org/D3949

21 months agoFix T51057 Modifiers lose bevel weight and crease
Howard Trickey [Sat, 8 Dec 2018 12:39:46 +0000 (06:39 -0600)]
Fix T51057 Modifiers lose bevel weight and crease

This is for 2.80 (though bug I mistakenly merged into was for 2.78.
Duplicate bugs T58127, T58411, T58440, and T58789 all fixed.
Bevel weights and crease are not real Mesh layers so get lost
on coversion of mesh to bmesh unelss the mesh's cd_flag member
tells the converter to create layers for them.
Most code the copies or partially copies meshes uses
mesh_new_nomain_from_template_ex, so copied the flag there.

21 months agoFix T58950: wireframe/orthographic/front/side/topview crash 2.8
Clément Foucault [Sat, 8 Dec 2018 10:32:45 +0000 (11:32 +0100)]
Fix T58950: wireframe/orthographic/front/side/topview crash 2.8

21 months agoShrinkwrap: use polygon normals for flat faces in Align To Normal.
Alexander Gavrilov [Wed, 5 Dec 2018 17:24:05 +0000 (20:24 +0300)]
Shrinkwrap: use polygon normals for flat faces in Align To Normal.

Hit normal originates from tesselated triangles and isn't the
actual normal used for shading of flat faces. Thus, it is better
to use the actual polygon normals when available.

21 months agoCleanup: style
Campbell Barton [Sat, 8 Dec 2018 04:01:47 +0000 (15:01 +1100)]
Cleanup: style

21 months agoFix T58949: Transform feedback shaders not having fragment shader
Clément Foucault [Fri, 7 Dec 2018 20:19:02 +0000 (21:19 +0100)]
Fix T58949: Transform feedback shaders not having fragment shader

21 months agoUI: Fix typo in hostname stamp tooltip
Pablo Vazquez [Fri, 7 Dec 2018 19:40:24 +0000 (20:40 +0100)]
UI: Fix typo in hostname stamp tooltip

Also change the part "running Blender" for "that rendered the frame".

21 months agoFix T58360 "Use object as pivot" in GP "Shadow effect" crashes Blender
Antonioya [Fri, 7 Dec 2018 19:01:01 +0000 (20:01 +0100)]
Fix T58360 "Use object as pivot" in GP "Shadow effect" crashes Blender

21 months agoMove static `get_hostname()` to `BLI_hostname()` in `system.c`
Sybren A. Stüvel [Fri, 7 Dec 2018 16:36:40 +0000 (17:36 +0100)]
Move static `get_hostname()` to `BLI_hostname()` in `system.c`

This makes the `#include <Windows.h>` use more localised and out of the
`image.c` file.

Reviewers: LazyDodo

Reviewed by: LazyDodo

Differential revision: https://developer.blender.org/D4049

21 months agoFix modifiers evaluation outside of depsgraph/CoW context.
Bastien Montagne [Fri, 7 Dec 2018 14:45:53 +0000 (15:45 +0100)]
Fix modifiers evaluation outside of depsgraph/CoW context.

Fix T58237: Exporters: Curve Modifier not applied when "apply modifiers" are selected.
Fix T58856: Python: "to_mesh" broken in 2.8.

...And many other cases... ;)

Thing is, we need target IDs to always be evaluated ones (at least I
cannot see any case where having orig ones is desired effect here).
Depsgraph/Cow system ensures us that when modifiers are evaluated by it,
but they can also be called outside of this context, e.g. when doing
binding, or object conversion...

So we need to ensure in modifiers code that we actually are always
working with eval data for those targets.

Note that I did not touch to physics modifiers, those are a bit touchy
and rather not 'fix' something there until proven broken!

21 months agoRemove unused particle system recalc flag
Sergey Sharybin [Fri, 7 Dec 2018 17:04:13 +0000 (18:04 +0100)]
Remove unused particle system recalc flag

21 months agoRemove obscure debug-only print
Sergey Sharybin [Fri, 7 Dec 2018 17:02:14 +0000 (18:02 +0100)]
Remove obscure debug-only print

The message is not clear for users, and is set for modifier already.