blender.git
2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 21 May 2018 10:26:36 +0000 (12:26 +0200)]
Merge branch 'master' into blender2.8

2 years agoFix too much memory usage for Cycles attribute map.
Brecht Van Lommel [Mon, 21 May 2018 09:08:03 +0000 (11:08 +0200)]
Fix too much memory usage for Cycles attribute map.

Thanks to Thomas Krebs for identifying the problem and solution.

2 years agoFix/workaround RNA build error in C++ API.
Brecht Van Lommel [Mon, 21 May 2018 09:13:56 +0000 (11:13 +0200)]
Fix/workaround RNA build error in C++ API.

It seems output parameter needs to be the last one.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 21 May 2018 08:54:51 +0000 (10:54 +0200)]
Merge branch 'master' into blender2.8

2 years agoCleanup: correct variable names
Campbell Barton [Mon, 21 May 2018 08:53:50 +0000 (10:53 +0200)]
Cleanup: correct variable names

2 years agoUI: generate dynamic keymap for popup toolbar
Campbell Barton [Mon, 21 May 2018 08:43:15 +0000 (10:43 +0200)]
UI: generate dynamic keymap for popup toolbar

Set keys for tools based on the current keymap.

This keeps consistency between tools immediate execution.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 21 May 2018 08:40:09 +0000 (10:40 +0200)]
Merge branch 'master' into blender2.8

2 years agoWM: utility to find a keymap item from an operator
Campbell Barton [Mon, 21 May 2018 08:33:27 +0000 (10:33 +0200)]
WM: utility to find a keymap item from an operator

Also RNA access to WM_keyconfig_update,
needed when generating dynamic keymaps used in menus immediately after.

2 years agoError in last commit
Campbell Barton [Mon, 21 May 2018 06:22:08 +0000 (08:22 +0200)]
Error in last commit

2 years agoUI: proof of concept keymap for the popup toolbar
Campbell Barton [Sun, 20 May 2018 20:37:35 +0000 (22:37 +0200)]
UI: proof of concept keymap for the popup toolbar

2 years agoUI: support for custom keymaps for popovers
Campbell Barton [Sun, 20 May 2018 20:34:18 +0000 (22:34 +0200)]
UI: support for custom keymaps for popovers

2 years agoCOW Operators: Fix VIEW3D_OT_view_all and camera mode of VIEW3D_OT_viewnumpad
Ines Almeida [Sun, 20 May 2018 17:10:16 +0000 (19:10 +0200)]
COW Operators: Fix VIEW3D_OT_view_all and camera mode of VIEW3D_OT_viewnumpad

Reviewers: sergey, aligorith

Maniphest Tasks: T54829

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

2 years agoCOW Operators: Fix VIEW3D_OT_view_lock_to_active
Ines Almeida [Sun, 20 May 2018 16:41:03 +0000 (18:41 +0200)]
COW Operators: Fix VIEW3D_OT_view_lock_to_active

Reviewers: aligorith, sergey

Maniphest Tasks: T54829

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

2 years agoWorkbench: Shadow: Add support for completly manifold geom.
Clément Foucault [Sun, 20 May 2018 17:13:46 +0000 (19:13 +0200)]
Workbench: Shadow: Add support for completly manifold geom.

If a mesh is known to be manifold, then it's not necessary to increment the
stencil buffer 2 times anymore. But we still need to account properly for
degenerate triangles.

In this case, only generate a quad if the tri is facing the lamp. If there
is a degenerate loop, the other edge will either cancel the increment (if
it is also facing the light) or not produce a quad (if not facing).

This will always give the correct count.

2 years agoDRW: Rename some DRW_STATE_* for more consistency.
Clément Foucault [Sun, 20 May 2018 17:05:13 +0000 (19:05 +0200)]
DRW: Rename some DRW_STATE_* for more consistency.

2 years agoWorkbench: Shadow: Add Depth Fail method
Clément Foucault [Sun, 20 May 2018 13:15:22 +0000 (15:15 +0200)]
Workbench: Shadow: Add Depth Fail method

Also add new debug visualisation.

Depth fail method is not used for the moment but has nice benefits. It will
be used efficiently in the future.

2 years agoWorkbench: Precompute light direction in object space.
Clément Foucault [Sat, 19 May 2018 16:53:53 +0000 (18:53 +0200)]
Workbench: Precompute light direction in object space.

Avoid 2 matrix multiplication in the shader.

2 years agoWorkbench: Shadow: Add geometry instancing extension.
Clément Foucault [Sat, 19 May 2018 16:23:29 +0000 (18:23 +0200)]
Workbench: Shadow: Add geometry instancing extension.

This give a very slight perf boost. (2ms gain over 67ms total in my test)

2 years agoWorkbench: Shadows: Fix corner case with degenerate triangles.
Clément Foucault [Sat, 19 May 2018 16:03:15 +0000 (18:03 +0200)]
Workbench: Shadows: Fix corner case with degenerate triangles.

Seems that degenerate tris are somewhat widely used in modeling. So we need
to fix this. Test the edges in the geom shader since the adjacency info is
only dependant on topology, not actual vertex placement.

This fixes most of the remaining noise issues. Only a few artifacts appear
on really weird models. So if you want to get rid of the artifacts, fix
your model!

2 years agoWorkbench: Optimize Shadows.
Clément Foucault [Sat, 19 May 2018 11:31:44 +0000 (13:31 +0200)]
Workbench: Optimize Shadows.

This makes the shadows ~10 times faster in the general case.

This only create extrusion geometry on the outline edges. Also we increment
or decrement the stencil buffer by 2 for each manifold edge and only by 1
for non manifold. This make the algorithm robust yet less heavy than creating
one prism for each triangles.

2 years agoGWN: Add Line Adjacency primitive support.
Clément Foucault [Sat, 19 May 2018 11:09:47 +0000 (13:09 +0200)]
GWN: Add Line Adjacency primitive support.

2 years agoFix: crash when rotating the view in pose mode
Ines Almeida [Sun, 20 May 2018 15:44:50 +0000 (17:44 +0200)]
Fix: crash when rotating the view in pose mode

2 years agoUI: locate popover w/ active item under cursor
Campbell Barton [Sun, 20 May 2018 07:53:01 +0000 (09:53 +0200)]
UI: locate popover w/ active item under cursor

Use when popover has no parent, useful for accessing the toolbar.

2 years agoCleanup: line length
Campbell Barton [Sun, 20 May 2018 07:04:18 +0000 (09:04 +0200)]
Cleanup: line length

2 years agoCleanup: whitespace, duplicate includes
Campbell Barton [Sun, 20 May 2018 06:52:10 +0000 (08:52 +0200)]
Cleanup: whitespace, duplicate includes

2 years agoHacky Fix: Changing frames by setting Scene.frame_current directly didn't update...
Joshua Leung [Sat, 19 May 2018 18:18:45 +0000 (20:18 +0200)]
Hacky Fix: Changing frames by setting Scene.frame_current directly didn't update rigs in 3D viewport

Operators did not suffer from this problem as they were still just using notifiers
directly. The "proper" fix is to use the new message bus system. But, we've
got enough problems dealing with COW already as it is now... moving on.

2 years agoFix: When trying to transform animated bones, they would jump to and use random old...
Joshua Leung [Sat, 19 May 2018 17:53:50 +0000 (19:53 +0200)]
Fix: When trying to transform animated bones, they would jump to and use random old values

The transform code needed to use data from the "_eval" copy of the posebone
instead of the main-db version, otherwise the initial/reset value would be
wrong, causing the jumping.

2 years agoAdd back temporary exception for pose bones in DEG_get_evaluated_rna_pointer()
Joshua Leung [Sat, 19 May 2018 17:42:36 +0000 (19:42 +0200)]
Add back temporary exception for pose bones in DEG_get_evaluated_rna_pointer()

Without the exception, adding new poses to pose libraries took several seconds
with only <= 4 bones selected. While we may still need this for other cases too,
since bones are such a common use case, it makes sense to provide some level
of optimisation for them.

2 years agoCleanup: Remove temporary debugging code
Joshua Leung [Sat, 19 May 2018 17:26:19 +0000 (19:26 +0200)]
Cleanup: Remove temporary debugging code

2 years agoWIP: Improved implementation of DEG_get_evaluated_rna_pointer()
Joshua Leung [Sat, 19 May 2018 17:12:26 +0000 (19:12 +0200)]
WIP: Improved implementation of DEG_get_evaluated_rna_pointer()

This now works by getting the RNA Path from the given PointerRNA to go from the
ID block to the data it points to, then uses this path to find the new data
relative to the COW ID.

Note: This currently still has all the debug prints left in - As can be seen,
I was testing this against the earlier PoseBone hack/special case. We may still
need to bring such special cases back in future, since looking up RNA Paths
like this can be slow.

2 years agoWIP COW Fix: Insert keyframe operators/api now queries depsgraph for evaluated data
Joshua Leung [Fri, 18 May 2018 18:36:48 +0000 (20:36 +0200)]
WIP COW Fix:  Insert keyframe operators/api now queries depsgraph for evaluated data

When using copy on write, insert keyframe operators were reading from old
bmain data instead of COW data. This meant that inserting keyframes would
often read old/stale data, resulting in invalid keyframes getting created
(e.g. from last transform operation, instead of actual current state).

This commit makes it so that keyframing operators will ask depsgraph for
the evaluated copy of the data, so that it can read values from that. It
introduces a new function - `DEG_get_evaluated_rna_pointer()`, which when
working correctly/fully, should work just like the other `DEG_get_evaluated_*()`
functions, except it lets you pass in an RNA Pointer.

However, currently, this is only done for Pose Bones (as a dirty hack, since this
is an important/pivotal requirement for production) and/or datablock
properties directly (since we can just use the DEG_get_evaluated_id() directly).
on the datablock.

Committing to a branch for now as this all needs more testing. More work to come
later at a more sane time of day!

2 years agoUI: popover-once (click-drag for single actions)
Campbell Barton [Sat, 19 May 2018 17:16:47 +0000 (19:16 +0200)]
UI: popover-once (click-drag for single actions)

Experimental support for using popovers like menus,
use this when the user hold the mouse down
(previously this did nothing).

This means turning frequently accessed menu items into
popovers doesn't add more clicks to the existing use case.

2 years agoCleanup: style
Campbell Barton [Sat, 19 May 2018 14:25:20 +0000 (16:25 +0200)]
Cleanup: style

No need to use text keyword arg for labels

2 years agoUI: don't disable snap popover in topbar
Campbell Barton [Sat, 19 May 2018 14:22:42 +0000 (16:22 +0200)]
UI: don't disable snap popover in topbar

Snap settings still apply when transforming (holding Ctrl)

Also no need to prevent proportional edit menu from opening,
showing inactive is enough.

2 years agoUI: Use popover for toolbar popup operator
Campbell Barton [Sat, 19 May 2018 08:22:44 +0000 (10:22 +0200)]
UI: Use popover for toolbar popup operator

- Currently the popup closes immediately, could be made configurable.
- Support exiting popups when their submenu's are accessed.

2 years agoCorrect last commit
Campbell Barton [Fri, 18 May 2018 21:14:56 +0000 (23:14 +0200)]
Correct last commit

2 years agoUI: Add menu to show the toolbar
Campbell Barton [Fri, 18 May 2018 20:27:59 +0000 (22:27 +0200)]
UI: Add menu to show the toolbar

For people who prefer to keep the toolbar hidden,
expose as a menu (currently Shift-Space).

2 years agoFix snap with occlusion.
Germano [Fri, 18 May 2018 20:26:22 +0000 (17:26 -0300)]
Fix snap with occlusion.

2 years agoRuler: Fix mixed snap.
Germano [Fri, 18 May 2018 20:12:20 +0000 (17:12 -0300)]
Ruler: Fix mixed snap.

2 years agoTool System: use classmethod for drawing
Campbell Barton [Fri, 18 May 2018 19:16:57 +0000 (21:16 +0200)]
Tool System: use classmethod for drawing

Allows the toolbar to be included in a popup.

2 years agoFix popover args when called from Python
Campbell Barton [Fri, 18 May 2018 19:00:16 +0000 (21:00 +0200)]
Fix popover args when called from Python

2 years agoCleanup: comments, use negate_mat3_m4
Campbell Barton [Fri, 18 May 2018 17:55:04 +0000 (19:55 +0200)]
Cleanup: comments, use negate_mat3_m4

2 years agoCycles/Eevee tests: add compare.html to see difference between the engines.
Brecht Van Lommel [Fri, 18 May 2018 15:52:46 +0000 (17:52 +0200)]
Cycles/Eevee tests: add compare.html to see difference between the engines.

2 years agoFix: Use DEG_get_ctime() for rigidbody sims instead of BKE_scene_frame_get()
Joshua Leung [Fri, 18 May 2018 16:04:27 +0000 (18:04 +0200)]
Fix: Use DEG_get_ctime() for rigidbody sims instead of BKE_scene_frame_get()

There are still probably other massive problems to solve (i.e. which copies
of data cache/sim gets written/read from for COW eval) that need to be solved
before we can get the sims actually running though.

2 years agoFix crash when collection view layer cannot be found
Sybren A. Stüvel [Fri, 18 May 2018 15:24:28 +0000 (17:24 +0200)]
Fix crash when collection view layer cannot be found

2 years agoFix tools not being initialized on startup
Campbell Barton [Fri, 18 May 2018 15:32:38 +0000 (17:32 +0200)]
Fix tools not being initialized on startup

2 years agoFix manipulator removal
Campbell Barton [Fri, 18 May 2018 15:29:43 +0000 (17:29 +0200)]
Fix manipulator removal

The flag could be left set, removing the manipulator type again.

2 years agoEevee: add regression tests.
Brecht Van Lommel [Fri, 18 May 2018 14:40:41 +0000 (16:40 +0200)]
Eevee: add regression tests.

This adds Eevee render tests using the Cycles files. Currently it must
be enabled by setting WITH_OPENGL_RENDER_TESTS=ON. Once we have reference
images we can enable it by default.

Some of the Cycles and Eevee tests are also currently broken due to
modifier and particle changes.

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

2 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Fri, 18 May 2018 15:11:19 +0000 (17:11 +0200)]
Merge branch 'master' into blender2.8

2 years agoCOW Fix: POSE_OT_armature_apply (Apply Pose as Rest Pose) now works with COW
Joshua Leung [Fri, 18 May 2018 15:07:41 +0000 (17:07 +0200)]
COW Fix: POSE_OT_armature_apply (Apply Pose as Rest Pose) now works with COW

2 years agoCycles tests: move to render/ folder, to share with Eevee.
Brecht Van Lommel [Fri, 18 May 2018 14:46:48 +0000 (16:46 +0200)]
Cycles tests: move to render/ folder, to share with Eevee.

2 years agoTransform: Improve the hierarchy in the choice of snapped elements in the mixed snap.
Germano [Fri, 18 May 2018 14:40:32 +0000 (11:40 -0300)]
Transform: Improve the hierarchy in the choice of snapped elements in the mixed snap.

To snap to small edges in 3d_view is no longer obfuscated by vertices if then is also enabled.

2 years agoClear the ParticleSettings pointer to prevent doubly-freeing it
Sybren A. Stüvel [Fri, 18 May 2018 14:29:01 +0000 (16:29 +0200)]
Clear the ParticleSettings pointer to prevent doubly-freeing it

Not happy with the approach, as it adds to nested_id_hack_discard_pointers(),
but at least it fixes a crash.

2 years agoCleanup: remove unused function.
Germano [Thu, 17 May 2018 16:38:23 +0000 (13:38 -0300)]
Cleanup: remove unused function.

2 years agoFix crash rendering files with Python errors in background mode.
Brecht Van Lommel [Fri, 18 May 2018 13:49:03 +0000 (15:49 +0200)]
Fix crash rendering files with Python errors in background mode.

2 years agoFix crash with shape keys and modifier stack, after recent changes.
Brecht Van Lommel [Fri, 18 May 2018 13:10:48 +0000 (15:10 +0200)]
Fix crash with shape keys and modifier stack, after recent changes.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 18 May 2018 13:31:53 +0000 (15:31 +0200)]
Merge branch 'master' into blender2.8

2 years agoEevee: Codestyle fix.
Clément Foucault [Fri, 18 May 2018 13:33:04 +0000 (15:33 +0200)]
Eevee: Codestyle fix.

2 years agoEevee: SSS: Fix compilation errors.
Clément Foucault [Fri, 18 May 2018 13:31:07 +0000 (15:31 +0200)]
Eevee: SSS: Fix compilation errors.

Fix T55114

2 years agoCMake: Add WITH_COMPILER_ASAN option
Campbell Barton [Fri, 18 May 2018 13:21:18 +0000 (15:21 +0200)]
CMake: Add WITH_COMPILER_ASAN option

This supports easy toggling of Address Sanitizer.

2 years agoCleanup: remove deprecated definitions
Campbell Barton [Fri, 18 May 2018 12:26:02 +0000 (14:26 +0200)]
Cleanup: remove deprecated definitions

2 years agoMerge branch 'master' into blender2.8
Philipp Oeser [Fri, 18 May 2018 12:59:38 +0000 (14:59 +0200)]
Merge branch 'master' into blender2.8

2 years agoFix T55115: crash when iterating SmokeDomainSettings color_grid property
Philipp Oeser [Fri, 18 May 2018 10:58:46 +0000 (12:58 +0200)]
Fix T55115: crash when iterating SmokeDomainSettings color_grid property
through python

2 years agoFix crash drawing polygon curves
Campbell Barton [Fri, 18 May 2018 12:23:53 +0000 (14:23 +0200)]
Fix crash drawing polygon curves

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 18 May 2018 11:45:48 +0000 (13:45 +0200)]
Merge branch 'master' into blender2.8

2 years agoAdd missing header
Campbell Barton [Fri, 18 May 2018 11:43:30 +0000 (13:43 +0200)]
Add missing header

2 years agoCollections and groups unification
Brecht Van Lommel [Mon, 30 Apr 2018 13:57:22 +0000 (15:57 +0200)]
Collections and groups unification

OVERVIEW

* In 2.7 terminology, all layers and groups are now collection datablocks.
* These collections are nestable, linkable, instanceable, overrideable, ..
  which opens up new ways to set up scenes and link + override data.
* Viewport/render visibility and selectability are now a part of the collection
  and shared across all view layers and linkable.
* View layers define which subset of the scene collection hierarchy is excluded
  for each. For many workflows one view layer can be used, these are more of an
  advanced feature now.

OUTLINER

* The outliner now has a "View Layer" display mode instead of "Collections",
  which can display the collections and/or objects in the view layer.
* In this display mode, collections can be excluded with the right click menu.
  These will then be greyed out and their objects will be excluded.
* To view collections not linked to any scene, the "Blender File" display mode
  can be used, with the new filtering option to just see Colleciton datablocks.
* The outliner right click menus for collections and objects were reorganized.
* Drag and drop still needs to be improved. Like before, dragging the icon or
  text gives different results, we'll unify this later.

LINKING AND OVERRIDES

* Collections can now be linked into the scene without creating an instance,
  with the link/append operator or from the collections view in the outliner.
* Collections can get static overrides with the right click menu in the outliner,
  but this is rather unreliable and not clearly communicated at the moment.
* We still need to improve the make override operator to turn collection instances
  into collections with overrides directly in the scene.

PERFORMANCE

* We tried to make performance not worse than before and improve it in some
  cases. The main thing that's still a bit slower is multiple scenes, we have to
  change the layer syncing to only updated affected scenes.
* Collections keep a list of their parent collections for faster incremental
  updates in syncing and caching.
* View layer bases are now in a object -> base hash to avoid quadratic time
  lookups internally and in API functions like visible_get().

VERSIONING

* Compatibility with 2.7 files should be improved due to the new visibility
  controls. Of course users may not want to set up their scenes differently
  now to avoid having separate layers and groups.
* Compatibility with 2.8 is mostly there, and was tested on Eevee demo and Hero
  files. There's a few things which are know to be not quite compatible, like
  nested layer collections inside groups.
* The versioning code for 2.8 files is quite complicated, and isolated behind
  #ifdef so it can be removed at the end of the release cycle.

KNOWN ISSUES

* The G-key group operators in the 3D viewport were left mostly as is, they
  need to be modified still to fit better.
* Same for the groups panel in the object properties. This needs to be updated
  still, or perhaps replaced by something better.
* Collections must all have a unique name. Less restrictive namespacing is to
  be done later, we'll have to see how important this is as all objects within
  the collections must also have a unique name anyway.
* Full scene copy and delete scene are exactly doing the right thing yet.

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

https://code.blender.org/2018/05/collections-and-groups/

2 years agoFix crash running in background mode, after recent changes.
Brecht Van Lommel [Fri, 18 May 2018 11:23:14 +0000 (13:23 +0200)]
Fix crash running in background mode, after recent changes.

2 years agoCleanup: move unneeded struct out of DNA.
Brecht Van Lommel [Thu, 17 May 2018 13:05:17 +0000 (15:05 +0200)]
Cleanup: move unneeded struct out of DNA.

The real reason is that there is a conflict between Carbon header defining
a "Collection" struct, and this works around it.

2 years agoTool System: set cursors for draw & transform
Campbell Barton [Fri, 18 May 2018 09:57:40 +0000 (11:57 +0200)]
Tool System: set cursors for draw & transform

2 years agoTool System: support for tool cursors
Campbell Barton [Fri, 18 May 2018 09:44:28 +0000 (11:44 +0200)]
Tool System: support for tool cursors

2 years agoFix operator execution resetting the cursor
Campbell Barton [Fri, 18 May 2018 09:42:58 +0000 (11:42 +0200)]
Fix operator execution resetting the cursor

Area and region are NULL in the context if the operator finishes.

2 years agoFix manipulator resetting the cursor
Campbell Barton [Fri, 18 May 2018 09:42:37 +0000 (11:42 +0200)]
Fix manipulator resetting the cursor

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 18 May 2018 09:02:39 +0000 (11:02 +0200)]
Merge branch 'master' into blender2.8

2 years agoLogging: add --show-log-backtrace
Campbell Barton [Fri, 18 May 2018 09:00:47 +0000 (11:00 +0200)]
Logging: add --show-log-backtrace

Useful in debug builds to see a functions callers.

2 years agoTool System: store the active tool in ScrArea
Campbell Barton [Fri, 18 May 2018 07:35:10 +0000 (09:35 +0200)]
Tool System: store the active tool in ScrArea

Without this we need to have the context to get the
(space_type, mode) args for an active tool lookup.

For event handling & poll its more convenient to have direct access.

2 years agoCleanup: unused DNA
Campbell Barton [Fri, 18 May 2018 06:14:36 +0000 (08:14 +0200)]
Cleanup: unused DNA

2 years agoCleanup: use '_Runtime' suffix
Campbell Barton [Fri, 18 May 2018 06:02:32 +0000 (08:02 +0200)]
Cleanup: use '_Runtime' suffix

Allows for more easily finding runtime versions of any struct.

2 years agoTool System: add cursor (currently unused)
Campbell Barton [Fri, 18 May 2018 05:58:37 +0000 (07:58 +0200)]
Tool System: add cursor (currently unused)

2 years agoCleanup: remove tool definition access function
Campbell Barton [Fri, 18 May 2018 05:24:17 +0000 (07:24 +0200)]
Cleanup: remove tool definition access function

No longer needed since names not values are compared
when checking if a tool is active.

2 years agoColor: Assume Rec 709 in remaining comp nodes
Aaron Carlisle [Thu, 17 May 2018 21:20:32 +0000 (17:20 -0400)]
Color: Assume Rec 709 in remaining comp nodes

Part of T54798

2 years agoTool System: tools now initialize on startup
Campbell Barton [Thu, 17 May 2018 20:01:58 +0000 (22:01 +0200)]
Tool System: tools now initialize on startup

2 years agoRNA: quiet warning
Campbell Barton [Thu, 17 May 2018 18:35:46 +0000 (20:35 +0200)]
RNA: quiet warning

Harmless but annoying.

2 years agoTool System: use context mode
Campbell Barton [Thu, 17 May 2018 18:28:14 +0000 (20:28 +0200)]
Tool System: use context mode

Was using object mode in the workspace API which isn't
useful for accessing tools.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 17 May 2018 17:55:27 +0000 (19:55 +0200)]
Merge branch 'master' into blender2.8

2 years agoRNA: move enums to rna_rna.c
Campbell Barton [Thu, 17 May 2018 17:10:45 +0000 (19:10 +0200)]
RNA: move enums to rna_rna.c

Needed for use in rna non runtime code.

2 years agoRNA: move enums to rna_rna.c
Campbell Barton [Thu, 17 May 2018 17:10:45 +0000 (19:10 +0200)]
RNA: move enums to rna_rna.c

Needed for use in rna non runtime code.

2 years agomakesrna: error check from 2.8
Campbell Barton [Thu, 17 May 2018 17:05:46 +0000 (19:05 +0200)]
makesrna: error check from 2.8

2 years agoFix UV shadow drawing
Campbell Barton [Thu, 17 May 2018 16:44:03 +0000 (18:44 +0200)]
Fix UV shadow drawing

2 years agoStatic Override/RNA diffing: Use a nasty macro to factorize a bit the code.
Bastien Montagne [Thu, 17 May 2018 15:06:08 +0000 (17:06 +0200)]
Static Override/RNA diffing: Use a nasty macro to factorize a bit the code.

This piece of code remains annoyingly verbose, but at least now we do
not have anymore twice the same logic duplicated between single array
element handling, and non-array properties.

2 years agoMulti-Object-Mode: EditCuve Select All
Campbell Barton [Thu, 17 May 2018 15:09:02 +0000 (17:09 +0200)]
Multi-Object-Mode: EditCuve Select All

D3381 by @dgriffin91

2 years agoModifiers: ported Surface DerivedMesh → Mesh
Sybren A. Stüvel [Thu, 17 May 2018 14:21:04 +0000 (16:21 +0200)]
Modifiers: ported Surface DerivedMesh → Mesh

2 years agoTool System: per space/mode tool support
Campbell Barton [Wed, 16 May 2018 16:41:11 +0000 (18:41 +0200)]
Tool System: per space/mode tool support

This patch adds support for:

- Per space-type tools (3D view and edit).
- Per mode tools (object, edit, weight-paint .. etc).

The top-bar shows the last activated tools options, this is a design
issue with using a global topbar to show per-space settings.

See D3395

2 years agoCleanup: warning
Campbell Barton [Thu, 17 May 2018 13:51:24 +0000 (15:51 +0200)]
Cleanup: warning

2 years agoTag scene & objects for COW update after physics settings changed via RNA
Sybren A. Stüvel [Thu, 17 May 2018 13:48:23 +0000 (15:48 +0200)]
Tag scene & objects for COW update after physics settings changed via RNA

2 years agoModifiers: ported Collision DerivedMesh → Mesh
Sybren A. Stüvel [Thu, 17 May 2018 13:26:59 +0000 (15:26 +0200)]
Modifiers: ported Collision DerivedMesh → Mesh

2 years agoCollision Modifier: get time from depsgraph instead of scene
Sybren A. Stüvel [Thu, 17 May 2018 13:28:18 +0000 (15:28 +0200)]
Collision Modifier: get time from depsgraph instead of scene

2 years agoEEVEE: Fix Motion Blur for copy-on-write
Dalai Felinto [Thu, 17 May 2018 13:20:41 +0000 (15:20 +0200)]
EEVEE: Fix Motion Blur for copy-on-write

Get current frame from depsgraph, not scene.

2 years agoOutliner: add ID type filter option for Blender File and Orphaned Data.
Brecht Van Lommel [Thu, 17 May 2018 11:40:59 +0000 (13:40 +0200)]
Outliner: add ID type filter option for Blender File and Orphaned Data.

2 years agoOutliner: move filter menu to the left in header.
Brecht Van Lommel [Thu, 17 May 2018 10:27:22 +0000 (12:27 +0200)]
Outliner: move filter menu to the left in header.