blender.git
13 months agoCollections: Initial support for animating/driving collection properties (T55233) tmp-CollectionsAnim
Joshua Leung [Tue, 29 May 2018 09:47:47 +0000 (11:47 +0200)]
Collections: Initial support for animating/driving collection properties (T55233)

(Just committing this now to a temp branch so that I can continue working on this
from another machine later. This is a re-based+squashed, re-pushed version of what
I just pushed earlier, but now based on current 2.8 code, not from several days ago)

Rationale:
The Spring team needs a way to hide objects from the viewport, so that parts of
the rig can be enabled/disabled per shot. An example of this is how the cornea
meshes are typically hidden from the viewport so that the animators can see
the irises, and hence, where the character is looking.

(Another reason we may want this in future is to make it so that a bunch of
objects/rigs can be keyframed together in the same action, making it easier
to manage their actions)

Status:
* Currently all necessary data and animation editor support changes should be
  in place and working. Hopefully I haven't missed any - the checklist may need
  updating for 2.8

* Depsgraph support however is still incomplete. We still need to figure out what
  needs to happen with the animated values to make objects actually appear/disappear
  when triggered via the animation system, just like they do now from the UIwip

13 months agotransform_snap_object: Do not use occlusion test when X-Ray is enabled.
Germano [Sat, 2 Jun 2018 16:11:51 +0000 (13:11 -0300)]
transform_snap_object: Do not use occlusion test when X-Ray is enabled.

13 months agoFix inaccuracy of SCREEN_OT_area_split when snap to midpoint and adjacent.
Germano [Sat, 2 Jun 2018 06:17:51 +0000 (03:17 -0300)]
Fix inaccuracy of SCREEN_OT_area_split when snap to midpoint and adjacent.

By default when moving a edge of the screen it always snaps to an invisible grid with unit of 4 pixels.
This was also affecting the snap to the midpoint and adjacent.
The solution was to make the snap to areagrid optional and use values of `origmin` and `origsize` that match the transformations in screen_edit.c.

13 months agoFix crash running in background mode
Campbell Barton [Sat, 2 Jun 2018 12:53:07 +0000 (14:53 +0200)]
Fix crash running in background mode

13 months agoCleanup: quiet warnings w/o Python
Campbell Barton [Sat, 2 Jun 2018 11:06:06 +0000 (13:06 +0200)]
Cleanup: quiet warnings w/o Python

13 months agoFix crash if no tool is set
Campbell Barton [Sat, 2 Jun 2018 10:02:55 +0000 (12:02 +0200)]
Fix crash if no tool is set

13 months agoMerge branch 'master' into blender2.8
Campbell Barton [Sat, 2 Jun 2018 11:09:12 +0000 (13:09 +0200)]
Merge branch 'master' into blender2.8

13 months agoCleanup: warning
Campbell Barton [Sat, 2 Jun 2018 09:58:01 +0000 (11:58 +0200)]
Cleanup: warning

13 months agoFix UI for camera data
Dalai Felinto [Sat, 2 Jun 2018 09:22:41 +0000 (11:22 +0200)]
Fix UI for camera data

The fix bit is the split.

But since we are using col.separator() left and right we need this as well.
I still don't think the separators are the way to go, yet may as well be
consistent with the current design in place, thus the extra separator here too.

13 months agoUI: re-order navigate manipulator
Campbell Barton [Fri, 1 Jun 2018 20:37:27 +0000 (22:37 +0200)]
UI: re-order navigate manipulator

Looked as if size applied to navigation too.

13 months agoUI: use single column properties for object data
Campbell Barton [Fri, 1 Jun 2018 16:44:06 +0000 (18:44 +0200)]
UI: use single column properties for object data

patch by @billreynish w/ minor edits

13 months agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 1 Jun 2018 16:26:42 +0000 (18:26 +0200)]
Merge branch 'master' into blender2.8

13 months agoCleanup: trailing whitespace (comment blocks)
Campbell Barton [Fri, 1 Jun 2018 16:19:39 +0000 (18:19 +0200)]
Cleanup: trailing whitespace (comment blocks)

Strip unindented comment blocks - mainly headers to avoid conflicts.

13 months agoCleanup: whitespace
Campbell Barton [Fri, 1 Jun 2018 16:10:43 +0000 (18:10 +0200)]
Cleanup: whitespace

13 months agoModifiers: ported applying modifier from DerivedMesh → Mesh
Sybren A. Stüvel [Fri, 1 Jun 2018 15:05:21 +0000 (17:05 +0200)]
Modifiers: ported applying modifier from DerivedMesh → Mesh

13 months agoBoolean modifier: fixed crash when applying the modifier
Sybren A. Stüvel [Fri, 1 Jun 2018 15:23:46 +0000 (17:23 +0200)]
Boolean modifier: fixed crash when applying the modifier

13 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Fri, 1 Jun 2018 15:26:36 +0000 (17:26 +0200)]
Merge branch 'master' into blender2.8

 Conflicts:
source/blender/editors/io/io_collada.c
source/blender/editors/object/object_bake.c
source/blender/editors/object/object_edit.c
source/blender/editors/render/render_internal.c
source/blender/makesrna/intern/rna_object_api.c
source/blenderplayer/bad_level_call_stubs/stubs.c

13 months agoX-Ray: Added a slider for the alpha
Jeroen Bakker [Fri, 1 Jun 2018 15:06:25 +0000 (17:06 +0200)]
X-Ray: Added a slider for the alpha

- will not render when set to 0.0 for speed reasons. so when user sets
transparency to hide everything the bigger passes will be skipped.

13 months agoWorkbench: Updated the internal light to have a bit of back lighting
Jeroen Bakker [Fri, 1 Jun 2018 12:14:28 +0000 (14:14 +0200)]
Workbench: Updated the internal light to have a bit of back lighting

13 months agoFix wrong colors for workbench World Background option.
Brecht Van Lommel [Fri, 1 Jun 2018 15:13:28 +0000 (17:13 +0200)]
Fix wrong colors for workbench World Background option.

13 months agoUI: tweaks to viewport shading and overlay panel layouts.
William Reynish [Fri, 1 Jun 2018 14:58:42 +0000 (16:58 +0200)]
UI: tweaks to viewport shading and overlay panel layouts.

13 months agoUI: use same "Viewport Display" name for scene/object/material panels.
Brecht Van Lommel [Fri, 1 Jun 2018 14:07:25 +0000 (16:07 +0200)]
UI: use same "Viewport Display" name for scene/object/material panels.

13 months agoFix broken set collection offset from cursor operator.
Brecht Van Lommel [Fri, 1 Jun 2018 14:10:48 +0000 (16:10 +0200)]
Fix broken set collection offset from cursor operator.

13 months agoCleanup: some more G.main removal from editor code.
Bastien Montagne [Fri, 1 Jun 2018 15:08:38 +0000 (17:08 +0200)]
Cleanup: some more G.main removal from editor code.

13 months agoMesh Batch Cache: Fix memory leak.
Clément Foucault [Fri, 1 Jun 2018 15:07:00 +0000 (17:07 +0200)]
Mesh Batch Cache: Fix memory leak.

13 months agoT54991: Restore support for Motion Path drawing in 2.8
Joshua Leung [Fri, 1 Jun 2018 14:38:21 +0000 (16:38 +0200)]
T54991: Restore support for Motion Path drawing in 2.8

This commit restores support for Motion Path drawing in 2.8 (as it wasn't ported over
to the new draw engines earlier, and the existing space_view3d/drawanimviz.c code was
removed during the Blender Internal removal).

Notes:
* Motion Paths are now implemented as an overlay (enabled by default).
  Therefore, you can turn all of them on/off from the "Overlays" popover

* By and large, we have kept the same draw style as was used in 2.7
  Further changes can happen later following further design work.

* One change from 2.7 is that thicker lines are used by default (2px vs 1px)

Todo's:
* There are some bad-level calls introduced here (i.e. the actgroup_to_keylist() stuff).
  These were introduced to optimise drawing performance (by avoiding full keyframes -> keylist
  conversion step on each drawcall). Instead, this has been moved to the calculation step
  (in blenkernel).  Soon, there will be some cleanups/improvements with those functions,
  so until then, we'll keep the bad level calls.

Credits:
* Clément Foucault (fclem) - Draw Engine magic + Shader Conversion/Optimisation
* Joshua Leung (Aligorith) - COW fixes, UI integration, etc.

Revision History:
See "tmp-b28-motionpath_drawing" branch (rBa12ab5b2ef49ccacae091ccb54d72de0d63f990d)

13 months agoCleanup: fix incorrect contributor information.
Brecht Van Lommel [Fri, 1 Jun 2018 13:42:11 +0000 (15:42 +0200)]
Cleanup: fix incorrect contributor information.

13 months agoFix for fix, indentation was accidental
Campbell Barton [Fri, 1 Jun 2018 13:42:00 +0000 (15:42 +0200)]
Fix for fix, indentation was accidental

13 months agoFix missing braces
Campbell Barton [Fri, 1 Jun 2018 13:37:53 +0000 (15:37 +0200)]
Fix missing braces

13 months agoUpdate Flatty themes with the new pulldown background and minor tweaks.
Pablo Vazquez [Fri, 1 Jun 2018 13:32:36 +0000 (15:32 +0200)]
Update Flatty themes with the new pulldown background and minor tweaks.

13 months agoFix Add menu issue when there are no collections to instance
Vuk Gardašević [Fri, 1 Jun 2018 13:07:32 +0000 (15:07 +0200)]
Fix Add menu issue when there are no collections to instance

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

13 months agoDraw background on pulldown widgets if the header is transparent.
Brecht Van Lommel [Fri, 1 Jun 2018 13:04:51 +0000 (15:04 +0200)]
Draw background on pulldown widgets if the header is transparent.

Since the viewport header now supports transparency, text on pulldowns
can be hard to read if their color matches the viewport content.

Background is drawn using the 'inner' theme color, that was unused until now.

13 months agoFix broken logic in make static override operators for Collections.
Bastien Montagne [Fri, 1 Jun 2018 12:30:26 +0000 (14:30 +0200)]
Fix broken logic in make static override operators for Collections.

Was pretty sure I already fixed that some weeks ago... but look like it
was not committed or somehow lost...

13 months agoMesh: Replace DM for mesh w/ wpaint vertex picking
Campbell Barton [Fri, 1 Jun 2018 12:29:22 +0000 (14:29 +0200)]
Mesh: Replace DM for mesh w/ wpaint vertex picking

13 months agoUI: don't show XYZ text w/ direction buttons
Campbell Barton [Fri, 1 Jun 2018 12:10:43 +0000 (14:10 +0200)]
UI: don't show XYZ text w/ direction buttons

13 months agoCleanup: rename vars
Campbell Barton [Fri, 1 Jun 2018 11:58:28 +0000 (13:58 +0200)]
Cleanup: rename vars

13 months agoMesh: Replace DM for mesh -> curve conversion
Campbell Barton [Fri, 1 Jun 2018 11:48:39 +0000 (13:48 +0200)]
Mesh: Replace DM for mesh -> curve conversion

13 months agoMesh versions of DerivedMesh access API calls
Campbell Barton [Fri, 1 Jun 2018 10:34:50 +0000 (12:34 +0200)]
Mesh versions of DerivedMesh access API calls

Add mesh_get_eval_final & mesh_get_eval_deform

Note: these will eventually need to be renamed & moved into BKE.

13 months agoCleanup: quiet warning, don't set unused alpha
Campbell Barton [Fri, 1 Jun 2018 11:56:39 +0000 (13:56 +0200)]
Cleanup: quiet warning, don't set unused alpha

13 months agoLookDev: make sure lookdev balls are still visible after 'N'
Jeroen Bakker [Fri, 1 Jun 2018 10:51:29 +0000 (12:51 +0200)]
LookDev: make sure lookdev balls are still visible after 'N'

13 months agoEdit Mode: Fix Edit Object renderability with multi objects edit.
Clément Foucault [Fri, 1 Jun 2018 10:28:05 +0000 (12:28 +0200)]
Edit Mode: Fix Edit Object renderability with multi objects edit.

13 months agoFix: raytrace_mirror does not exist anymore
Jeroen Bakker [Fri, 1 Jun 2018 10:14:08 +0000 (12:14 +0200)]
Fix: raytrace_mirror does not exist anymore

Eevee default material settings were not showing.

13 months agoFix error
Jeroen Bakker [Fri, 1 Jun 2018 10:04:24 +0000 (12:04 +0200)]
Fix error

13 months agoCode cleanup: Compiler warning
Jeroen Bakker [Fri, 1 Jun 2018 10:00:33 +0000 (12:00 +0200)]
Code cleanup: Compiler warning

13 months agoMath: optimizations for 4x4x matrix inverse, multiplications.
Brecht Van Lommel [Thu, 31 May 2018 14:36:20 +0000 (16:36 +0200)]
Math: optimizations for 4x4x matrix inverse, multiplications.

In some heavy rigs matrix inverse can be 10% of computation time. This
reduces it to 2% by using Eigen's optimized 4x4 matrix inverse and SSE
matrix multiplication.

13 months agoModifiers: tiny optimizations for mesh deform, lattice, kdop.
Brecht Van Lommel [Fri, 1 Jun 2018 09:02:54 +0000 (11:02 +0200)]
Modifiers: tiny optimizations for mesh deform, lattice, kdop.

13 months agoFix missing animation updates when the proxy object is not visible.
Brecht Van Lommel [Thu, 31 May 2018 18:51:29 +0000 (20:51 +0200)]
Fix missing animation updates when the proxy object is not visible.

The relation was inverted here, for a long time already. The reason is
unclear and in principle it should work fine in the right direction.

13 months agoFix use of uninitialized value in depsgraph.
Brecht Van Lommel [Thu, 31 May 2018 12:15:25 +0000 (14:15 +0200)]
Fix use of uninitialized value in depsgraph.

13 months agoCleanup: long lines
Campbell Barton [Fri, 1 Jun 2018 09:59:15 +0000 (11:59 +0200)]
Cleanup: long lines

13 months agoFix building for workbench in windows (BLI_INLINE)
Dalai Felinto [Fri, 1 Jun 2018 09:55:02 +0000 (11:55 +0200)]
Fix building for workbench in windows (BLI_INLINE)

13 months agoFix T55282: Modifiers: Removed unnecessary object evaluation
Sybren A. Stüvel [Fri, 1 Jun 2018 09:49:24 +0000 (11:49 +0200)]
Fix T55282: Modifiers: Removed unnecessary object evaluation

13 months agoRemoved old mention of CDDerivedMesh
Sybren A. Stüvel [Fri, 1 Jun 2018 08:40:30 +0000 (10:40 +0200)]
Removed old mention of CDDerivedMesh

13 months agoFix/Workaround T55272: Sculpt/VPaint removes mesh
Campbell Barton [Fri, 1 Jun 2018 09:44:50 +0000 (11:44 +0200)]
Fix/Workaround T55272: Sculpt/VPaint removes mesh

13 months agoCleanup: quiet warnings
Campbell Barton [Fri, 1 Jun 2018 09:48:53 +0000 (11:48 +0200)]
Cleanup: quiet warnings

13 months agoObject Mode: Display loose edges if overlays are enables.
Clément Foucault [Fri, 1 Jun 2018 09:35:51 +0000 (11:35 +0200)]
Object Mode: Display loose edges if overlays are enables.

This fix T55280 Loose edges not visible in object mode

13 months agoFix: overlays are reset when selection is being performed
Jeroen Bakker [Fri, 1 Jun 2018 09:31:30 +0000 (11:31 +0200)]
Fix: overlays are reset when selection is being performed

/me hits myself in the head. In selection code the flags were not tested
but set directly.

13 months agoWorkbench: Material specific settings for the specular
Jeroen Bakker [Thu, 31 May 2018 11:32:53 +0000 (13:32 +0200)]
Workbench: Material specific settings for the specular

- Uses the roughness setting of the basic eevee material
- renamed gloss_mir to roughness
- set default of roughness to 0.25
- renamed ray_mirror to metallic
- cleaned up material rna (BI mirror struct)
- use BLINN phong model
- normalize incoming/outgoing specular light
- when using camera oriented studiolight, the SolidLight will be used
for specular highlights
- EXPERIMENT: when in world oriented studiolight only the shadow direction will be used.
- change the settings of the internal light to make scenes more
readable

13 months agoFix crash switching sculpt/vpaint -> edit mode
Campbell Barton [Fri, 1 Jun 2018 08:33:20 +0000 (10:33 +0200)]
Fix crash switching sculpt/vpaint -> edit mode

13 months agoFix broken 'make single user' operator UI.
Bastien Montagne [Fri, 1 Jun 2018 08:26:42 +0000 (10:26 +0200)]
Fix broken 'make single user' operator UI.

Texture option was removed, since BI engine removal...

13 months ago3D View: hide orbit navigation in camera view
Campbell Barton [Fri, 1 Jun 2018 08:16:01 +0000 (10:16 +0200)]
3D View: hide orbit navigation in camera view

Typically for camera views it's nicer not to overlay large widgets,
only include the button to exit camera view.

13 months agoModifiers: ported Soft Body DerivedMesh → Mesh
Sybren A. Stüvel [Thu, 31 May 2018 12:57:04 +0000 (14:57 +0200)]
Modifiers: ported Soft Body DerivedMesh → Mesh

The simulation doesn't seem to update properly yet.

13 months agoPartial Revert of COW/Camera manipulator changes
Campbell Barton [Fri, 1 Jun 2018 07:48:40 +0000 (09:48 +0200)]
Partial Revert of COW/Camera manipulator changes

d64fbe94568e5 3e26b84397fcb

13 months agoRevert "COW Fix: Lamp manipulators"
Campbell Barton [Fri, 1 Jun 2018 07:24:17 +0000 (09:24 +0200)]
Revert "COW Fix: Lamp manipulators"

This reverts commit 33e45658ebc2a79acda259f7be748ad64780e982.

No longer needed.

13 months ago3D View: respect text option for edit-mode info
Campbell Barton [Fri, 1 Jun 2018 07:22:08 +0000 (09:22 +0200)]
3D View: respect text option for edit-mode info

13 months agoError in last commit
Campbell Barton [Fri, 1 Jun 2018 06:31:32 +0000 (08:31 +0200)]
Error in last commit

13 months ago3D View: make text overlay optional
Campbell Barton [Fri, 1 Jun 2018 06:26:55 +0000 (08:26 +0200)]
3D View: make text overlay optional

13 months ago3D View: support world background color
Campbell Barton [Fri, 1 Jun 2018 06:15:50 +0000 (08:15 +0200)]
3D View: support world background color

13 months agoAdd 'Toggle Header' to header context menu.
Pablo Vazquez [Fri, 1 Jun 2018 00:55:16 +0000 (02:55 +0200)]
Add 'Toggle Header' to header context menu.

Also disable collapsing the header by dragging it up/down. This prevents
accidentally hiding the header when resizing areas.

13 months agoCycles UI: Show pause button only when in rendered mode
Dalai Felinto [Thu, 31 May 2018 21:55:10 +0000 (23:55 +0200)]
Cycles UI: Show pause button only when in rendered mode

13 months agoFix render engine info region when overlap and header on bottom
Dalai Felinto [Thu, 31 May 2018 21:48:50 +0000 (23:48 +0200)]
Fix render engine info region when overlap and header on bottom

Note there is some talk about changing the position of this (which would be strange in the image editor by the way,
since there we use the bottom for the result of the current pixel when dragging the mouse).

However first I wanted to fix this regardless.

13 months agoUI: new tool properties space type
Campbell Barton [Thu, 31 May 2018 19:45:26 +0000 (21:45 +0200)]
UI: new tool properties space type

This currently shows panels that were in the 2.79 3D view toolbar
which are now popovers.

In some cases it's useful for these to stay open.
This commit adds a space type to do this.

Note this is currently empty in object mode.

13 months agoUI: support drawing panels from multiple contexts
Campbell Barton [Thu, 31 May 2018 19:39:48 +0000 (21:39 +0200)]
UI: support drawing panels from multiple contexts

13 months agoAdd Asan support for clang on windows.
Ray Molenkamp [Thu, 31 May 2018 17:50:30 +0000 (11:50 -0600)]
Add Asan support for clang on windows.

This will currently only work for the RelWithDebInfo configuration since asan
does not support the debug crt. for source line information in the reports,
you need a copy of llvm-symbolizer in the blender folder or set the
ASAN_SYMBOLIZER_PATH environment variable to point to it. Currently (as of
6.0.0) llvm-symbolizer does not ship with the binary clang/llvm distribution.

Reviewers: campbellbarton

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

13 months agoCleanup: Fix indentation
Dalai Felinto [Thu, 31 May 2018 17:19:27 +0000 (19:19 +0200)]
Cleanup: Fix indentation

13 months agoOverlay: Add Wireframe overlay.
Clément Foucault [Thu, 31 May 2018 17:01:22 +0000 (19:01 +0200)]
Overlay: Add Wireframe overlay.

This overlay is showing mesh topology. It is usable with transparency
even if the mesh order can mess up with the expected result (some object
more prominent than others).

Edge thickness and alpha values are hardcoded for now but can easily be
added to theme or object settings.

13 months agoDRW: Add wireframe buffer texture generation for wireframe drawing.
Clément Foucault [Thu, 31 May 2018 16:43:19 +0000 (18:43 +0200)]
DRW: Add wireframe buffer texture generation for wireframe drawing.

Only OB_MESH is supported for now.

Creates a simple index buffer with negative indices if the edges is not a
real edge.

Also create the buffer texture representation of this buffer along with the
pos_in_order buffer texture.

13 months agoDRW: Fix DRW_shgroup_call_procedural_* vertex count.
Clément Foucault [Thu, 31 May 2018 16:34:56 +0000 (18:34 +0200)]
DRW: Fix DRW_shgroup_call_procedural_* vertex count.

13 months agoGPUTexture: Expose GPU_texture_create_buffer and add GL_R32I support.
Clément Foucault [Thu, 31 May 2018 16:34:17 +0000 (18:34 +0200)]
GPUTexture: Expose GPU_texture_create_buffer and add GL_R32I support.

13 months agoLoopTri: Fix example code.
Clément Foucault [Thu, 31 May 2018 10:40:37 +0000 (12:40 +0200)]
LoopTri: Fix example code.

For real guys! Test your example code!

13 months agoDRW: Fix stick bones memory leak.
Clément Foucault [Wed, 30 May 2018 13:01:43 +0000 (15:01 +0200)]
DRW: Fix stick bones memory leak.

13 months agoFix Collada building...
Bastien Montagne [Thu, 31 May 2018 16:37:33 +0000 (18:37 +0200)]
Fix Collada building...

13 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Thu, 31 May 2018 16:35:14 +0000 (18:35 +0200)]
Merge branch 'master' into blender2.8

Conflicts:
source/blender/editors/sculpt_paint/paint_image.c
source/blender/editors/space_image/image_edit.c
source/blender/editors/space_image/image_ops.c
source/blender/makesrna/intern/rna_material.c
source/blender/makesrna/intern/rna_sculpt_paint.c
source/blender/makesrna/intern/rna_space.c
source/blenderplayer/bad_level_call_stubs/stubs.c

13 months agoCleanup: Remove G.main from some editor files.
Bastien Montagne [Thu, 31 May 2018 16:23:20 +0000 (18:23 +0200)]
Cleanup: Remove G.main from some editor files.

13 months agoDepsgraph: Fixes to prevent object duplicate to jump
Sergey Sharybin [Thu, 31 May 2018 14:44:34 +0000 (16:44 +0200)]
Depsgraph: Fixes to prevent object duplicate to jump

This includes:

- Skip OB_RECALC_TIME tag from object duplicate operator
  not sure why it is needed: even if original object was
  animated, duplicating it will copy evaluated values.

- Don't tag whole ID for update when updating it after
  relations rebuilt. Use the same trickery to detect
  whether animation is to be re-evaluated or not as is
  done for update flag=0.

- Don't tag datablocks which are expanded for update
  of copy-on-write.

- Avoid flush along relation from copy-on-write
  operation in action. This will not invalidate any
  pointers in the copied datablock since we don't
  reference anything in the action.

13 months agoDepsgraph: Remove unused flags
Sergey Sharybin [Thu, 31 May 2018 14:04:17 +0000 (16:04 +0200)]
Depsgraph: Remove unused flags

They are no longer needed after the active depsgraph concept is here.

13 months agoTransform: Read all data from original objects
Sergey Sharybin [Thu, 31 May 2018 12:44:48 +0000 (14:44 +0200)]
Transform: Read all data from original objects

This is now guaranteed to be in sync with evaluated state for an active
dependency graph.

Solves issue with duplicating animated object.

13 months agoDepsgraph: Copy evaluated data to original datablock
Sergey Sharybin [Thu, 31 May 2018 12:27:37 +0000 (14:27 +0200)]
Depsgraph: Copy evaluated data to original datablock

Only do it for active dependency graph.

Currently covers animation, drivers, object and pose channel matricies.

13 months agoDepsgraph: Consider depsgraphs used by workspace as active
Sergey Sharybin [Thu, 31 May 2018 11:35:01 +0000 (13:35 +0200)]
Depsgraph: Consider depsgraphs used by workspace as active

Will cause some bad behavior when object is shared across multiple
visible view layers with different overrides. Accept it for now,
and possibly force single view layer later.

13 months agoDepsgraph: Begin concept of active dependency graph
Sergey Sharybin [Thu, 31 May 2018 10:57:21 +0000 (12:57 +0200)]
Depsgraph: Begin concept of active dependency graph

When active dependency graph is evaluated, it will apply animation,
drivers and scalar evaluation data (such as object matrix) to an
original datablock. This way operators and tools can easily read
data from original datablock.

This will simplify porting them to copy-on-write, and solve issues
when some operator will allocate new datablock based on original one,
and will want to read data from it.

13 months agoDepsgraph: Forbid update flush to go from copy-on-write to animation
Sergey Sharybin [Thu, 31 May 2018 10:54:42 +0000 (12:54 +0200)]
Depsgraph: Forbid update flush to go from copy-on-write to animation

13 months agoAnimation: Pass dependency graph to animation system
Sergey Sharybin [Thu, 31 May 2018 10:52:13 +0000 (12:52 +0200)]
Animation: Pass dependency graph to animation system

This way we allow animation system to make decisions based on which
context dependency graph is coming from, and whether it belongs to
an active edit window or not.

13 months agoSequencer: Make dependency graph part of sequencer context
Sergey Sharybin [Thu, 31 May 2018 10:46:32 +0000 (12:46 +0200)]
Sequencer: Make dependency graph part of sequencer context

Currently unused, but will be needed soon to deal with active edit
window context.

13 months agoUI: fix own error switching fake space types
Campbell Barton [Thu, 31 May 2018 15:59:35 +0000 (17:59 +0200)]
UI: fix own error switching fake space types

13 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Thu, 31 May 2018 14:57:39 +0000 (16:57 +0200)]
Merge branch 'master' into blender2.8

Conflicts:
source/blender/alembic/intern/abc_exporter.cc
source/blender/blenkernel/BKE_mball.h
source/blender/blenkernel/intern/depsgraph.c
source/blender/blenkernel/intern/mball.c
source/blender/editors/object/object_add.c
source/blender/render/intern/source/convertblender.c

13 months agoUI: hide user preferences from space menu
Campbell Barton [Thu, 31 May 2018 14:44:20 +0000 (16:44 +0200)]
UI: hide user preferences from space menu

See T54744

13 months agoCleanup: remove G.main from BKE mball code.
Bastien Montagne [Thu, 31 May 2018 14:44:05 +0000 (16:44 +0200)]
Cleanup: remove G.main from BKE mball code.

13 months agoCleanup: warning
Campbell Barton [Thu, 31 May 2018 14:36:24 +0000 (16:36 +0200)]
Cleanup: warning

13 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Thu, 31 May 2018 14:21:47 +0000 (16:21 +0200)]
Merge branch 'master' into blender2.8

Conflicts:
source/blender/editors/object/object_add.c
source/blender/editors/object/object_select.c
source/blender/editors/space_outliner/outliner_edit.c

13 months agoMinor tweaks to labels
Pablo Vazquez [Thu, 31 May 2018 14:05:38 +0000 (16:05 +0200)]
Minor tweaks to labels

13 months agoCleanup: get rid of last G.main usages in BKE library code.
Bastien Montagne [Thu, 31 May 2018 14:04:04 +0000 (16:04 +0200)]
Cleanup: get rid of last G.main usages in BKE library code.