3 years agoDepsgraph: Object data separation, armature
Sergey Sharybin [Wed, 6 Jun 2018 09:41:56 +0000 (11:41 +0200)]
Depsgraph: Object data separation, armature

3 years agoDepsgraph: Object data separation, geometry
Sergey Sharybin [Wed, 6 Jun 2018 09:22:20 +0000 (11:22 +0200)]
Depsgraph: Object data separation, geometry

3 years agoDepsgraph: Object data separation, camera
Sergey Sharybin [Wed, 6 Jun 2018 08:52:50 +0000 (10:52 +0200)]
Depsgraph: Object data separation, camera

3 years agoDepsgraph: Object data separation, lamp
Sergey Sharybin [Wed, 6 Jun 2018 08:47:54 +0000 (10:47 +0200)]
Depsgraph: Object data separation, lamp

3 years agoDepsgraph: Object data separation, light probes
Sergey Sharybin [Wed, 6 Jun 2018 08:23:45 +0000 (10:23 +0200)]
Depsgraph: Object data separation, light probes

This is a beginning of series of commits which will clearly separate
building IDs which are used as object data from object building.

The goal is to be able to always build whatever ID. Required to make
driver targets to work reliably with copy-on-write concept.

3 years agoDepsgraph: Remove confusing metaball logic
Sergey Sharybin [Wed, 6 Jun 2018 07:54:58 +0000 (09:54 +0200)]
Depsgraph: Remove confusing metaball logic

DATA datablock must evaluation must never depend on object it is
used for. If there is something what depends on an object, it must
be done on object level.

At least the actual callback was empty.

3 years agoWireframe: Fix do_version.
Clément Foucault [Wed, 6 Jun 2018 10:32:13 +0000 (12:32 +0200)]
Wireframe: Fix do_version.

3 years agoEnsure BKE_mesh_new_nomain_from_template() always has valid mxxx pointers
Sybren A. Stüvel [Wed, 6 Jun 2018 10:21:36 +0000 (12:21 +0200)]
Ensure BKE_mesh_new_nomain_from_template() always has valid mxxx pointers

When the source mesh doesn't have the primary layers (CD_VERT for vdata,
etc.) the returned mesh also didn't have those layers, even when non-zero
elements were requested (for example requesting 4 vertices would still
result in mvert = NULL).

3 years agoConsolidated custom data layer initialisation
Sybren A. Stüvel [Wed, 6 Jun 2018 10:20:21 +0000 (12:20 +0200)]
Consolidated custom data layer initialisation

Code shared between BKE_mesh_new_nomain() and
BKE_mesh_new_nomain_from_template() is now in separate functions, instead
of copy-pasted.

3 years agoSet mesh->totface in nomain-mesh creation
Sybren A. Stüvel [Wed, 6 Jun 2018 10:16:02 +0000 (12:16 +0200)]
Set mesh->totface in nomain-mesh creation

The totxxx fields should match the number of elements in their respective
custom data layers.

3 years agoFix T55344: linked collection instance has user count 0.
Brecht Van Lommel [Wed, 6 Jun 2018 09:08:56 +0000 (11:08 +0200)]
Fix T55344: linked collection instance has user count 0.

3 years agoUI: tweak for Cycles panels.
Brecht Van Lommel [Tue, 5 Jun 2018 11:34:32 +0000 (13:34 +0200)]
UI: tweak for Cycles panels.

3 years agoCleanup: fix compiler warning.
Brecht Van Lommel [Tue, 5 Jun 2018 10:37:50 +0000 (12:37 +0200)]
Cleanup: fix compiler warning.

3 years agoFix importing temporary screens
Sybren A. Stüvel [Wed, 6 Jun 2018 09:13:05 +0000 (11:13 +0200)]
Fix importing temporary screens

Apparently Blender 2.79 could save temporary screens; those should not be
converted to workspaces.

3 years agoRenamed BKE_nomain_mesh_xxx → BKE_mesh_nomain_xxx
Sybren A. Stüvel [Wed, 6 Jun 2018 08:30:24 +0000 (10:30 +0200)]
Renamed BKE_nomain_mesh_xxx → BKE_mesh_nomain_xxx

This maintains the `BKE_mesh_` prefix for the mesh-related BKE functions.

3 years agoDerivedMesh deprecation: Removed some functions in displist.c
Sybren A. Stüvel [Tue, 5 Jun 2018 16:31:47 +0000 (18:31 +0200)]
DerivedMesh deprecation: Removed some functions in displist.c

Those functions were using DerivedMesh but are not called from anywhere.
As a result, they cannot be tested after porting DerivedMesh to Mesh.

3 years agoDerivedMesh deprecation: marked no-longer-in-use function
Sybren A. Stüvel [Tue, 5 Jun 2018 16:18:45 +0000 (18:18 +0200)]
DerivedMesh deprecation: marked no-longer-in-use function

Functions that are no longer in use can be marked as such, so that later
we can easily remove them.

3 years agoModifiers: ported curve_calc_modifiers_post() internals from DerivedMesh → Mesh
Sybren A. Stüvel [Tue, 5 Jun 2018 13:59:30 +0000 (15:59 +0200)]
Modifiers: ported curve_calc_modifiers_post() internals from DerivedMesh → Mesh

The function still returns a DerivedMesh, but internally it uses Mesh

3 years agoError in recent popover keep_open option
Campbell Barton [Wed, 6 Jun 2018 07:43:03 +0000 (09:43 +0200)]
Error in recent popover keep_open option

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 6 Jun 2018 07:39:35 +0000 (09:39 +0200)]
Merge branch 'master' into blender2.8

3 years agoFix error using freed bmain
Campbell Barton [Wed, 6 Jun 2018 07:36:50 +0000 (09:36 +0200)]
Fix error using freed bmain

Regression in 481cdb08ed6f3

3 years agoCleanup: rename WITH -> USE for internal defines
Campbell Barton [Wed, 6 Jun 2018 07:29:54 +0000 (09:29 +0200)]
Cleanup: rename WITH -> USE for internal defines

3 years agoCleanup: USE_UI_* prefix for UI defines
Campbell Barton [Wed, 6 Jun 2018 07:27:23 +0000 (09:27 +0200)]
Cleanup: USE_UI_* prefix for UI defines

Otherwise there is no quick way to see where this comes from.

3 years agoUI: WM_OT_call_panel option to keep popovers open
Campbell Barton [Wed, 6 Jun 2018 07:24:24 +0000 (09:24 +0200)]
UI: WM_OT_call_panel option to keep popovers open

3 years agoWorkbench: Speed up fo scene with many duplis
Jeroen Bakker [Wed, 6 Jun 2018 06:45:31 +0000 (08:45 +0200)]
Workbench: Speed up fo scene with many duplis

The ObjectID pass was generating per material per dupli a specific
number for the outline what results in a GPU context switch. In spring scene
01-050 a scene with many trees (duplis) generated 28000 GPU materials.

Now only new materials are created when objectid pass is enabled. Also
added a hard limit to the number of objects for the objectid pass (255)
Basically the outline between objects will not be drawn, but it will be
very hard to detect them also.

Also fixed for XRay mode.

3 years agoUI: use regular size icons for toolbar popup
Campbell Barton [Wed, 6 Jun 2018 06:31:31 +0000 (08:31 +0200)]
UI: use regular size icons for toolbar popup

Test this since the popup feels disruptive/flashing when its too large
when set smaller it looks closer to a menu w/ key-accelerators which is
the intention in this case.

It's also more likely the active tool can be placed under the cursor.

3 years agoFix object selection w/ COW
Campbell Barton [Wed, 6 Jun 2018 06:20:05 +0000 (08:20 +0200)]
Fix object selection w/ COW

3 years agoCleanup: style
Campbell Barton [Tue, 5 Jun 2018 19:32:49 +0000 (21:32 +0200)]
Cleanup: style

3 years agoEevee: Improve load time.
Clément Foucault [Sun, 3 Jun 2018 20:47:01 +0000 (22:47 +0200)]
Eevee: Improve load time.

Only generate shadow store shaders on demand and create a simpler shader
for small blur radius.

3 years agoFix compilation issue due to last commit.
Clément Foucault [Tue, 5 Jun 2018 17:49:12 +0000 (19:49 +0200)]
Fix compilation issue due to last commit.

3 years agoWireframe: Add slider to hide edges from coplanar faces
Clément Foucault [Tue, 5 Jun 2018 17:35:08 +0000 (19:35 +0200)]
Wireframe: Add slider to hide edges from coplanar faces

The default behaviour is to show the same amount of edges as 2.7.
The slider makes it possible to show all edges or even less.

3 years agomake.bat : move all experimental options to their own section in the help.
Ray Molenkamp [Tue, 5 Jun 2018 17:29:03 +0000 (11:29 -0600)]
make.bat : move all experimental options to their own section in the help.

3 years agomake.bat : bring the help up to date with recent additions to the build script.
Ray Molenkamp [Tue, 5 Jun 2018 16:40:14 +0000 (10:40 -0600)]
make.bat : bring the help up to date with recent additions to the build script.

3 years agomake.bat : check for existence of ninja before using it.
Ray Molenkamp [Tue, 5 Jun 2018 16:39:39 +0000 (10:39 -0600)]
make.bat : check for existence of ninja before using it.

3 years agomake.bat: change the way the vs buildtools are detected.
Ray Molenkamp [Tue, 5 Jun 2018 16:38:48 +0000 (10:38 -0600)]
make.bat: change the way the vs buildtools are detected.

The recent change also used the buildtools instead of the regular compiler, you now have to explicitly state what you want to use :

2017 - the standard msvc compiler
2017pre - the msvc compiler from the preview installation
2017b - the msvc compiler from the buildtools installation

3 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Tue, 5 Jun 2018 15:56:18 +0000 (17:56 +0200)]
Merge branch 'master' into blender2.8


3 years agoFix crash in owmn previous commit.
Bastien Montagne [Tue, 5 Jun 2018 15:51:17 +0000 (17:51 +0200)]
Fix crash in owmn previous commit.

3 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Tue, 5 Jun 2018 15:02:50 +0000 (17:02 +0200)]
Merge branch 'master' into blender2.8


3 years agoMoved function declarations from BKE_DerivedMesh.h to BKE_mesh_runtime.h
Sybren A. Stüvel [Tue, 5 Jun 2018 14:58:08 +0000 (16:58 +0200)]
Moved function declarations from BKE_DerivedMesh.h to BKE_mesh_runtime.h

The function definitions still reside in DerivedMesh.c. Once we're done
porting all the DerivedMesh use to Mesh, we'll move the still-relevant
functions to mesh_runtime.c. This move is now cumbersome due to shared
statically-declared utility functions in DerivedMesh.c

3 years agoMoved function declarations from BKE_mesh.h → BKE_mesh_runtime.h
Sybren A. Stüvel [Tue, 5 Jun 2018 13:59:53 +0000 (15:59 +0200)]
Moved function declarations from BKE_mesh.h → BKE_mesh_runtime.h

3 years agoMerge branch 'master' into 28
Campbell Barton [Tue, 5 Jun 2018 14:35:20 +0000 (16:35 +0200)]
Merge branch 'master' into 28

3 years agoCleanup: use new accessors to blendfile path (
Bastien Montagne [Tue, 5 Jun 2018 13:10:33 +0000 (15:10 +0200)]
Cleanup: use new accessors to blendfile path (

3 years agoCleanup: add hleper functions to get filepath from Main.
Bastien Montagne [Tue, 5 Jun 2018 13:08:28 +0000 (15:08 +0200)]
Cleanup: add hleper functions to get filepath from Main.

This helps making things clearer and cleaner. Func returning filepath of
G.main is separate, so that we can easily track its usages, and
hopefully deprecate it at some point. Though that usage of G.main is
likely the less evil one, you nearly always want current blendfile path
in those cases anyway.

3 years agoCleanup: pep8
Campbell Barton [Tue, 5 Jun 2018 14:32:11 +0000 (16:32 +0200)]
Cleanup: pep8

Use 'autopep8 --ignore E721,E722' on our UI code, only minor changes.

3 years agoCleanup: doxy grouping for mesh runtime API
Campbell Barton [Tue, 5 Jun 2018 13:54:12 +0000 (15:54 +0200)]
Cleanup: doxy grouping for mesh runtime API

3 years agoLookDev: Fix crash when no world
Jeroen Bakker [Tue, 5 Jun 2018 13:49:31 +0000 (15:49 +0200)]
LookDev: Fix crash when no world

3 years agoUI: move 3D view display options into popover
Campbell Barton [Tue, 5 Jun 2018 13:34:37 +0000 (15:34 +0200)]
UI: move 3D view display options into popover

- Moved Mesh Display, Mesh Analysis & Motion Tracking
  display panels to Overlays.
- Removed Item panel from sidebar (buttons available elsewhere).

Patch by @billreynish w/ edits

3 years agomake.bat: cache the vcredist directory.
Ray Molenkamp [Tue, 5 Jun 2018 13:25:37 +0000 (07:25 -0600)]
make.bat: cache the vcredist directory.

When run from make.bat the environment is setup correctly and the VCToolsRedistDir environment variable exists, on later invocations of cmake this may no longer be the case and a warning was emitted about the missing runtime. we can't rely on InstallRequiredSystemLibraries.cmake here since it uses the compiler version to figure out the correct location and it doesn't know how to deal with clang.

3 years agoError in last commit
Campbell Barton [Tue, 5 Jun 2018 13:21:04 +0000 (15:21 +0200)]
Error in last commit

3 years agoDepsgraph: Fix bug with broken tweak of animated node tree settings
Sergey Sharybin [Tue, 5 Jun 2018 13:10:09 +0000 (15:10 +0200)]
Depsgraph: Fix bug with broken tweak of animated node tree settings

With single editing context we can have expected and correct evaluation order
of animation and material update.

3 years ago3D View: disable manipulators & text w/o overlay
Campbell Barton [Tue, 5 Jun 2018 12:24:58 +0000 (14:24 +0200)]
3D View: disable manipulators & text w/o overlay

Manipulators which aren't explicitly activated via tools are now hidden.

Tool manipulators are kept because it doesn't make sense to interact
with a tool with hidden manipulators.

3 years agoObject Modes: Flush COW on mode switching
Campbell Barton [Tue, 5 Jun 2018 10:19:14 +0000 (12:19 +0200)]
Object Modes: Flush COW on mode switching

Caused glitch w/ sculpt mode not updating.

3 years agoPreserve unkeyed changes on undo and file open
Sergey Sharybin [Tue, 5 Jun 2018 10:34:31 +0000 (12:34 +0200)]
Preserve unkeyed changes on undo and file open

This partially reverts 5975d6581cee.

With single editing context it is more predictable what is unkeyed change is.

3 years agoCleanup: simplify studiolight/matcap enum code, remove limit.
Brecht Van Lommel [Tue, 5 Jun 2018 10:08:29 +0000 (12:08 +0200)]
Cleanup: simplify studiolight/matcap enum code, remove limit.

3 years agoT55291: Matcaps were reset when loading file
Jeroen Bakker [Tue, 5 Jun 2018 10:20:02 +0000 (12:20 +0200)]
T55291: Matcaps were reset when loading file

3 years agoStatic Override: Fix order of operations issue in material slots.
Bastien Montagne [Tue, 5 Jun 2018 10:07:20 +0000 (12:07 +0200)]
Static Override: Fix order of operations issue in material slots.

*Really* not happy with that kind of constraint, but no choice for

3 years agoStatic Override: progresses towards full support for material slots.
Bastien Montagne [Tue, 5 Jun 2018 09:58:56 +0000 (11:58 +0200)]
Static Override: progresses towards full support for material slots.

Material slots are a real pain to get working, due to all the black
magic they do to hide object vs. obdata storage of the material...

Currently hitting an order problem - we need to always set 'link' (to
object or obdata) property of the slot first, before we set its
material... *super-sigh*

3 years agoFix compilation error after recent matcap changes
Sergey Sharybin [Tue, 5 Jun 2018 10:02:08 +0000 (12:02 +0200)]
Fix compilation error after recent matcap changes

3 years agoFix T55319: Keyframing issues
Sergey Sharybin [Tue, 5 Jun 2018 09:56:46 +0000 (11:56 +0200)]
Fix T55319: Keyframing issues

The issue was that keyframing from menu would tag object for animation
update, which was making object to loose unkeyed changes.

3 years agoWorkbench: remove the soft limit for the xray_alpha
Jeroen Bakker [Tue, 5 Jun 2018 09:45:22 +0000 (11:45 +0200)]
Workbench: remove the soft limit for the xray_alpha

3 years agoWorkbench: Matcaps T55291
Jeroen Bakker [Tue, 5 Jun 2018 06:15:30 +0000 (08:15 +0200)]
Workbench: Matcaps T55291

- users can use their own matcaps
.config/blender/2.80/datafiles/studiolights/matcap/ folder
- upto 100 matcaps can be loaded
- color of the matcap is influenced by the color of the material/single
color etc. To show the plain matcap use single color at 1.0
- chosing a matcap is at lighting level (flat/studio/matcap)
- matcap only possible in solid mode
- also works for X-Ray mode

As the old matcaps are still in used by the clay engine I didn't remove
it yet.

3 years agoUI: set cursor line width
Campbell Barton [Tue, 5 Jun 2018 09:37:30 +0000 (11:37 +0200)]
UI: set cursor line width

3 years agoTransform: avoid assert in wpaint mode
Campbell Barton [Tue, 5 Jun 2018 09:31:17 +0000 (11:31 +0200)]
Transform: avoid assert in wpaint mode

3 years agoFix stupid mistake in previous commit.
Bastien Montagne [Tue, 5 Jun 2018 09:22:43 +0000 (11:22 +0200)]
Fix stupid mistake in previous commit.

3 years agoRNA/Override: Move override-related property flags to own variable.
Bastien Montagne [Tue, 5 Jun 2018 09:10:05 +0000 (11:10 +0200)]
RNA/Override: Move override-related property flags to own variable.

We are already running out of available flags in main, generic int, and
everytime I work on static override I find new special cases that will
need new specific propflag, so...

3 years agoBaby step towards making overridable materials for objects.
Bastien Montagne [Mon, 4 Jun 2018 14:31:13 +0000 (16:31 +0200)]
Baby step towards making overridable materials for objects.

Naughty Collections RNACollection of objects is still to be tamed, but
for individual objects should work now....

3 years agoTransform: improve pose trans/rot/scale guessing
Campbell Barton [Tue, 5 Jun 2018 09:00:36 +0000 (11:00 +0200)]
Transform: improve pose trans/rot/scale guessing

Switching the mode was being done per object,
where it should first check all pose bones from all objects.

This also removes code that changes the transform mode
from within the counting function.
This was only needed on transform initialization.

3 years agoMissing from last commit
Campbell Barton [Tue, 5 Jun 2018 08:13:55 +0000 (10:13 +0200)]
Missing from last commit

3 years agoTransform: revert use of evaluated objects
Campbell Barton [Tue, 5 Jun 2018 07:48:38 +0000 (09:48 +0200)]
Transform: revert use of evaluated objects

This is no longer needed.

3 years agoUI: context menu for other editor types
Campbell Barton [Tue, 5 Jun 2018 07:12:19 +0000 (09:12 +0200)]
UI: context menu for other editor types

D3458 by @billreynish w/ edits.

- Context menu for dope-sheet, graph, image & node editors.
- Add type to contenxt menu header.
- Access with W-Key.
- Change UV-editor weld key binding to Shift-W.

3 years agoUI: support property split for 'prop_search'
Campbell Barton [Tue, 5 Jun 2018 06:56:14 +0000 (08:56 +0200)]
UI: support property split for 'prop_search'

3 years agomake.bat : Fix clang+asan msbuild project generation
Ray Molenkamp [Tue, 5 Jun 2018 04:35:57 +0000 (22:35 -0600)]
make.bat : Fix clang+asan msbuild project generation

3 years agoDRW: Fix crashes with instanced data
Dalai Felinto [Mon, 4 Jun 2018 17:17:26 +0000 (19:17 +0200)]
DRW: Fix crashes with instanced data

Problem introduced on 101c277e3d8241ad55f6343690b5d96a5e37d1f0.

3 years agoCleanup: correct menu name
Campbell Barton [Mon, 4 Jun 2018 17:09:52 +0000 (19:09 +0200)]
Cleanup: correct menu name

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 4 Jun 2018 16:49:43 +0000 (18:49 +0200)]
Merge branch 'master' into blender2.8

3 years agoCleanup: strip ghost trailing space
Campbell Barton [Mon, 4 Jun 2018 16:47:57 +0000 (18:47 +0200)]
Cleanup: strip ghost trailing space

3 years agoCleanup: strip tests trailing space
Campbell Barton [Mon, 4 Jun 2018 16:47:31 +0000 (18:47 +0200)]
Cleanup: strip tests trailing space

3 years agoFix T55325: Revert "Always get a reference point when snapping with the projected...
Germano [Mon, 4 Jun 2018 16:33:19 +0000 (13:33 -0300)]
Fix T55325: Revert "Always get a reference point when snapping with the projected elements option enabled."

This reverts commit 0864a4c1ea3156b55c60bbeaf25d265fa5583e69.

That way it's best for retopology.

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 4 Jun 2018 15:58:07 +0000 (17:58 +0200)]
Merge branch 'master' into blender2.8

3 years agoParticle System: move data creation into RNA update
Campbell Barton [Mon, 4 Jun 2018 15:55:19 +0000 (17:55 +0200)]
Particle System: move data creation into RNA update

Relying on evaluation to initialize data causes issues w/ 2.8.

3 years agoUI: more subpanels for Cycles and Eevee.
William Reynish [Mon, 4 Jun 2018 15:26:47 +0000 (17:26 +0200)]
UI: more subpanels for Cycles and Eevee.

3 years agoFix Python UI error with Eevee and hemi lamps.
Brecht Van Lommel [Mon, 4 Jun 2018 15:26:18 +0000 (17:26 +0200)]
Fix Python UI error with Eevee and hemi lamps.

3 years agoFix hang rendering with motion blur.
Brecht Van Lommel [Mon, 4 Jun 2018 14:51:27 +0000 (16:51 +0200)]
Fix hang rendering with motion blur.

3 years agoWorkbench: Shadows: Fix cap being clipped by far plane.
Clément Foucault [Mon, 4 Jun 2018 15:33:25 +0000 (17:33 +0200)]
Workbench: Shadows: Fix cap being clipped by far plane.

This was the last remaining problem with shadow volumes (that I know of).

Only extrude until we hit the far plane.

3 years agoTool System: refresh tools after undo
Campbell Barton [Mon, 4 Jun 2018 14:41:03 +0000 (16:41 +0200)]
Tool System: refresh tools after undo

3 years agoCleanup: Hopefully more clear name
Sergey Sharybin [Mon, 4 Jun 2018 14:20:39 +0000 (16:20 +0200)]
Cleanup: Hopefully more clear name

3 years agoDRW: Fix leak from the wireframe drawing.
Clément Foucault [Mon, 4 Jun 2018 14:04:11 +0000 (16:04 +0200)]
DRW: Fix leak from the wireframe drawing.

3 years agoWireframe: Lower line thickness and front color blending.
Clément Foucault [Mon, 4 Jun 2018 13:58:23 +0000 (15:58 +0200)]
Wireframe: Lower line thickness and front color blending.

3 years agoCleanup: redundant headers
Campbell Barton [Mon, 4 Jun 2018 14:03:52 +0000 (16:03 +0200)]
Cleanup: redundant headers

3 years agoWeight paint: Use helper function to get original mesh
Sergey Sharybin [Mon, 4 Jun 2018 13:49:11 +0000 (15:49 +0200)]
Weight paint: Use helper function to get original mesh

Makes it one line to get needed mesh, no code duplication. And can easily
update asserts and tighten the nuts.

3 years agoAdd utility functions to get different "levels" of evaluated/original mesh
Sergey Sharybin [Mon, 4 Jun 2018 13:48:37 +0000 (15:48 +0200)]
Add utility functions to get different "levels" of evaluated/original mesh

3 years agoDepsgraph: Only store original mesh pointer for mesh object
Sergey Sharybin [Mon, 4 Jun 2018 13:24:10 +0000 (15:24 +0200)]
Depsgraph: Only store original mesh pointer for mesh object

3 years agoFix weight paint crash
Campbell Barton [Mon, 4 Jun 2018 13:15:34 +0000 (15:15 +0200)]
Fix weight paint crash

The PBVH was referencing runtime custom data which was freed on refresh.

3 years agoFix crash when making objects to share same mesh
Sergey Sharybin [Mon, 4 Jun 2018 13:11:09 +0000 (15:11 +0200)]
Fix crash when making objects to share same mesh

Make it more reliable and predictable way of getting pointer to
an original mesh which came from copy-on-write engine.

Related change: made it (hopefully) more clear name for flags.

3 years agoGPU: Fix missing case of new radeon on xorg.
Clément Foucault [Mon, 4 Jun 2018 13:14:52 +0000 (15:14 +0200)]
GPU: Fix missing case of new radeon on xorg.

This was causing issue with shader compilation.

3 years agoWorkbench: Shadows: Fix the remaining fail case.
Clément Foucault [Mon, 4 Jun 2018 12:40:20 +0000 (14:40 +0200)]
Workbench: Shadows: Fix the remaining fail case.

Non-manifold geom was producing inverted result when the camera was inside
the shadow volume.

When rendering non manifold geometry with the depth fail method, we need to
emit the cap as if it was the same geometry with a virtual thickness.

Another way to view it is to imagine having a set of non-manifold geometry
all facing the light.

So for every tri we emit a front cap oriented toward the light and the
back cap pointing away from it (whatever the actual orientation of the tri).

Extrusion pass stay the same as the depth pass method (double the increment
if it's a manifold edge).

3 years agoCleanup: Use proper type for original ID pointer
Sergey Sharybin [Mon, 4 Jun 2018 12:11:38 +0000 (14:11 +0200)]
Cleanup: Use proper type for original ID pointer

Helps debugging, no need to cast in a debugger.

3 years agoUI: use subpanels for Cycles, render, scene, object, particle, curves.
William Reynish [Mon, 4 Jun 2018 10:20:40 +0000 (12:20 +0200)]
UI: use subpanels for Cycles, render, scene, object, particle, curves.

3 years agoFix missing collection instance motion blur settings.
Brecht Van Lommel [Mon, 4 Jun 2018 11:20:15 +0000 (13:20 +0200)]
Fix missing collection instance motion blur settings.

3 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Mon, 4 Jun 2018 10:48:03 +0000 (12:48 +0200)]
Merge branch 'master' into blender2.8