2 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Wed, 14 Feb 2018 20:49:13 +0000 (21:49 +0100)]
Merge branch 'master' into blender2.8

2 years agoCycles: restore Particle Info Index for now, keep it next to Random.
Brecht Van Lommel [Wed, 14 Feb 2018 16:02:28 +0000 (17:02 +0100)]
Cycles: restore Particle Info Index for now, keep it next to Random.

It seems to be useful still in cases where the particle are distributed in
a particular order or pattern, to colorize them along with that. This isn't
really well defined, but might as well avoid breaking backwards compatibility
for now.

2 years agoEevee: Fix broken AO and Contact shadows on certain platform.
Clément Foucault [Wed, 14 Feb 2018 18:02:03 +0000 (19:02 +0100)]
Eevee: Fix broken AO and Contact shadows on certain platform.

This was caused by ce0f70fbd62fc812a2508c27a2f392cde0acbdfa

2 years agoDRW: Refactor: Less feature duplication with Gwn.
Clément Foucault [Wed, 14 Feb 2018 17:59:15 +0000 (18:59 +0100)]
DRW: Refactor: Less feature duplication with Gwn.

This removes the need of custom attribs for instancing.
Instancing works fully with dynamic batches & Gwn_VertFormat now.

This is in prevision of the VAO manager patch.

2 years agoDRW: Add instance buffer manager.
Clément Foucault [Wed, 14 Feb 2018 17:16:52 +0000 (18:16 +0100)]
DRW: Add instance buffer manager.

This manager allows to distribute existing batches for instancing
attributes. This reduce the number of batches creation.
Querying a batch is done with a vertex format. This format should
be static so that it's pointer never changes (because we are using
this pointer as identifier [we don't want to check the full format
that would be too slow]).

This might make the original Instance Data manager useless but it's currently used by DRW_object_engine_data_ensure().

2 years agoGWN: Add new dynamic type of batches and remove
Clément Foucault [Wed, 14 Feb 2018 16:59:48 +0000 (17:59 +0100)]
GWN: Add new dynamic type of batches and remove

Theses batches keeps their memory chuck allocated after transfer to be reused and updated very often.

NOTE: This commit break instancing in DRW. (it's fixed in the next commit)

2 years agoGWN: Add GWN_batch_draw_procedural
Clément Foucault [Wed, 14 Feb 2018 16:55:01 +0000 (17:55 +0100)]
GWN: Add GWN_batch_draw_procedural

This allow to drawn large amounts of primitives without any memory footprint.

2 years agoGWN: Allow drawing instances without batch_instancing
Clément Foucault [Wed, 14 Feb 2018 16:52:19 +0000 (17:52 +0100)]
GWN: Allow drawing instances without batch_instancing

2 years agoDRW: Refactor: Make use of the new Gawain long attrib support.
Clément Foucault [Sun, 11 Feb 2018 15:15:46 +0000 (16:15 +0100)]
DRW: Refactor: Make use of the new Gawain long attrib support.

2 years agoGWN: Extend support for multiple of 4 components in batches.
Clément Foucault [Sun, 11 Feb 2018 14:33:39 +0000 (15:33 +0100)]
GWN: Extend support for multiple of 4 components in batches.

2 years agoGWN: Fix style and line of code that does nothing!
Clément Foucault [Sun, 11 Feb 2018 04:15:26 +0000 (05:15 +0100)]
GWN: Fix style and line of code that does nothing!

2 years agoGWN: Add support for 4x4 Matrices and instancing attributes.
Clément Foucault [Sun, 11 Feb 2018 04:14:35 +0000 (05:14 +0100)]
GWN: Add support for 4x4 Matrices and instancing attributes.

Only support float matrices specifically for code simplicity.

2 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Wed, 14 Feb 2018 14:16:50 +0000 (15:16 +0100)]
Merge branch 'master' into blender2.8

2 years agoCycles: change Index output of Hair and Particle Info to Random, in 0..1 range.
Brecht Van Lommel [Wed, 14 Feb 2018 13:32:38 +0000 (14:32 +0100)]
Cycles: change Index output of Hair and Particle Info to Random, in 0..1 range.

These are used for randomization, so it's convenient if the index is already
hashed and consistent with the Object Info node.

2 years agoGPU: use alpha blend that works for drawing to transparent buffer.
Brecht Van Lommel [Wed, 14 Feb 2018 00:01:29 +0000 (01:01 +0100)]
GPU: use alpha blend that works for drawing to transparent buffer.

It's unlikely to ever be intentional to square the source alpha, as happens
with glBlendFunc, so this changes the blending throughout the code.

2 years agoGPU: don't use multisample for entire window, only for offscreen 3D viewport.
Brecht Van Lommel [Tue, 13 Feb 2018 18:15:34 +0000 (19:15 +0100)]
GPU: don't use multisample for entire window, only for offscreen 3D viewport.

Now that the new 3D viewport draws to a multisample offscreen buffer, there is
no good reason anymore to create an entire multisample window and pay the
performance/memory cost for other regions that don't need it.

GL_MULTISAMPLE now only gets enabled for offscreen buffers, so we don't need
to check for it throughout the UI code anymore.

Differential Revision:

2 years agoFix incorrect RNA path to view_render settings.
Brecht Van Lommel [Wed, 14 Feb 2018 12:31:16 +0000 (13:31 +0100)]
Fix incorrect RNA path to view_render settings.

2 years agoCode cleanup: simplify subwindow code.
Brecht Van Lommel [Wed, 14 Feb 2018 02:08:58 +0000 (03:08 +0100)]
Code cleanup: simplify subwindow code.

2 years agoParticles: Avoid multiple function declarations in multiple places
Sergey Sharybin [Wed, 14 Feb 2018 10:52:58 +0000 (11:52 +0100)]
Particles: Avoid multiple function declarations in multiple places

This makes it really hard to spot errors when function signature changes.

2 years agoParticles: Cleanup, remove trailign whitespace
Sergey Sharybin [Wed, 14 Feb 2018 10:46:33 +0000 (11:46 +0100)]
Particles: Cleanup, remove trailign whitespace

2 years agoHair child: Use clamp function to clamp curve evaluation
Sergey Sharybin [Wed, 14 Feb 2018 10:36:46 +0000 (11:36 +0100)]
Hair child: Use clamp function to clamp curve evaluation

Avoids redundant calls to the curve evaluation.

2 years agoMath utils: Add clamping functions
Sergey Sharybin [Wed, 14 Feb 2018 10:21:27 +0000 (11:21 +0100)]
Math utils: Add clamping functions

2 years agoCMake: Expose Cycles devices support as CMake option
Sergey Sharybin [Wed, 14 Feb 2018 09:31:04 +0000 (10:31 +0100)]
CMake: Expose Cycles devices support as CMake option

Handy to disable GPU based devices when it's needed to run Valgrind.

2 years agoCMake: Fix cimpilation error when CUDA dynload is disabled but toolkit is not installed
Sergey Sharybin [Wed, 14 Feb 2018 09:20:26 +0000 (10:20 +0100)]
CMake: Fix cimpilation error when CUDA dynload is disabled but toolkit is not installed

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 14 Feb 2018 05:04:07 +0000 (16:04 +1100)]
Merge branch 'master' into blender2.8

2 years agoCleanup: use prefix for tests
Campbell Barton [Wed, 14 Feb 2018 05:02:21 +0000 (16:02 +1100)]
Cleanup: use prefix for tests

Allows for running all `bmesh_*` or `object_*` tests.

2 years agoObject Mode: remove Scene.obedit
Campbell Barton [Tue, 13 Feb 2018 21:39:10 +0000 (08:39 +1100)]
Object Mode: remove Scene.obedit

This means we can support having the same scene in different windows
with different edit-objects.

2 years agoGPU: add offscreen buffer drawing utility functions.
Brecht Van Lommel [Tue, 13 Feb 2018 17:18:04 +0000 (18:18 +0100)]
GPU: add offscreen buffer drawing utility functions.

2 years agoCode cleanup: stop using rectangle textures in window draw, simplify code.
Brecht Van Lommel [Tue, 13 Feb 2018 17:09:58 +0000 (18:09 +0100)]
Code cleanup: stop using rectangle textures in window draw, simplify code.

2 years agoCode cleanup: fix incorrect reading of GL scissor coordinates.
Brecht Van Lommel [Mon, 12 Feb 2018 20:32:45 +0000 (21:32 +0100)]
Code cleanup: fix incorrect reading of GL scissor coordinates.

These are often the same as the viewport, but not always.

2 years agoCode cleanup: remove unneeded gla* 2D drawing functions.
Brecht Van Lommel [Tue, 13 Feb 2018 02:57:28 +0000 (03:57 +0100)]
Code cleanup: remove unneeded gla* 2D drawing functions.

2 years agoFix blenderplayer build.
Brecht Van Lommel [Tue, 13 Feb 2018 19:01:46 +0000 (20:01 +0100)]
Fix blenderplayer build.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 13 Feb 2018 14:06:41 +0000 (01:06 +1100)]
Merge branch 'master' into blender2.8

2 years agoAdd ED_object_editmode_exit_ex
Campbell Barton [Tue, 13 Feb 2018 13:38:13 +0000 (00:38 +1100)]
Add ED_object_editmode_exit_ex

Allow exiting editmode from non-active scene.

2 years agoCycles: Implement index output for hair node
Sergey Sharybin [Tue, 13 Feb 2018 13:20:47 +0000 (14:20 +0100)]
Cycles: Implement index output for hair node

This is like the only way to add variety to hair which is created
using simple children. Used here for the hair.

Maybe not ideal, but the time will show.

2 years agoFix T54064: Can't create new Cycles materials
Mai Lavelle [Tue, 13 Feb 2018 11:57:57 +0000 (06:57 -0500)]
Fix T54064: Can't create new Cycles materials

Was caused by object mode removal

2 years agoObject Mode: remove Scene.obedit for RNA
Campbell Barton [Tue, 13 Feb 2018 10:06:51 +0000 (21:06 +1100)]
Object Mode: remove Scene.obedit for RNA

2 years agoObject Mode: Loop over objects for ED_editors_exit
Campbell Barton [Tue, 13 Feb 2018 10:00:26 +0000 (21:00 +1100)]
Object Mode: Loop over objects for ED_editors_exit

We could loop over active objects but this ensures don't miss any
and avoids complicated context checks.

2 years agoObject Mode: remove Scene.obedit
Campbell Barton [Tue, 13 Feb 2018 09:35:29 +0000 (20:35 +1100)]
Object Mode: remove Scene.obedit

Add ED_screen_window_find, BKE_workspace_edit_object

2 years agoObject Mode: remove Scene.obedit for 3D View
Campbell Barton [Tue, 13 Feb 2018 08:29:08 +0000 (19:29 +1100)]
Object Mode: remove Scene.obedit for 3D View

2 years agoObject Mode: pass edit-object to outliner drawing
Campbell Barton [Tue, 13 Feb 2018 07:44:53 +0000 (18:44 +1100)]
Object Mode: pass edit-object to outliner drawing

Also add 'OBEDIT_FROM_EVAL_CTX' macro.

2 years agoObject Mode: pass edit-object to UV API
Campbell Barton [Tue, 13 Feb 2018 07:29:49 +0000 (18:29 +1100)]
Object Mode: pass edit-object to UV API

2 years agoObject Mode: remove Scene.obedit in draw manager
Campbell Barton [Tue, 13 Feb 2018 07:15:47 +0000 (18:15 +1100)]
Object Mode: remove Scene.obedit in draw manager

Part of larger change to remove this variable entirely.

2 years ago(Nodes) Display image name if any in the Cycles Image and Environment Texture node...
Ines Almeida [Mon, 12 Feb 2018 23:58:26 +0000 (00:58 +0100)]
(Nodes) Display image name if any in the Cycles Image and Environment Texture node title

2 years agoFix random walk SSS issues with different base and subsurface color.
Brecht Van Lommel [Mon, 12 Feb 2018 20:08:59 +0000 (21:08 +0100)]
Fix random walk SSS issues with different base and subsurface color.

Burley SSS uses a bit of strange thing where the albedo and closure weight are
different, which makes the subsurface color act a bit like a subsurface radius
indirectly by the way the Burley SSS profile works.

This can't work for random walk SSS though, and it's not clear to me that this
is actually a good idea since it's really the subsurface radius that is supposed
to control this. For now I'll leave Burley SSS working the same to not break
backwards compatibility.

2 years agoFix part of T53080: don't use current scene world for icon previews.
Brecht Van Lommel [Mon, 12 Feb 2018 19:08:50 +0000 (20:08 +0100)]
Fix part of T53080: don't use current scene world for icon previews.

This can be very slow if it contains a big texture, and it's not
necessarily setup in a useful way anyway, and materials can be used
in multiple scenes.

2 years agoBuildbot: Remove usage of deprecated chroot
Sergey Sharybin [Mon, 12 Feb 2018 16:55:38 +0000 (17:55 +0100)]
Buildbot: Remove usage of deprecated chroot

2 years agoAdd boolean regression test.
Howard Trickey [Mon, 12 Feb 2018 12:23:23 +0000 (07:23 -0500)]
Add boolean regression test.

2 years agoFix T54032: Adding torus test fails
Campbell Barton [Mon, 12 Feb 2018 08:39:52 +0000 (19:39 +1100)]
Fix T54032: Adding torus test fails

rna_LayerObjects_active_object_update used wrong viewlayer.

Regression in 345c6298e99

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 12 Feb 2018 06:57:46 +0000 (17:57 +1100)]
Merge branch 'master' into blender2.8

2 years agoError in last commit, disable cycles when not enabled
Campbell Barton [Mon, 12 Feb 2018 06:56:14 +0000 (17:56 +1100)]
Error in last commit, disable cycles when not enabled

Would only disable when loading old preferences.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 12 Feb 2018 06:39:58 +0000 (17:39 +1100)]
Merge branch 'master' into blender2.8

2 years agoDisable cycles when WITH_CYCLES=OFF
Campbell Barton [Mon, 12 Feb 2018 06:37:39 +0000 (17:37 +1100)]
Disable cycles when WITH_CYCLES=OFF

2 years agoBKE_addon: new/free/ensure functions
Campbell Barton [Mon, 12 Feb 2018 06:24:18 +0000 (17:24 +1100)]
BKE_addon: new/free/ensure functions

2 years agoGHOST: Optimize and simplify the creation of a GHOST_Context on Windows
Germano [Sat, 10 Feb 2018 02:32:13 +0000 (00:32 -0200)]
GHOST: Optimize and simplify the creation of a GHOST_Context on Windows

Instead of cloning the window to create dummyHWNDs and dummyHDCs to avoid calling the SetPixelFormat more than once in the same window, use the original window and HDC and do not call the SetPixelFormat again.

In addition to avoiding a lot of unnecessary calls, it simplifies the code and makes it match the others OS

2 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Fri, 9 Feb 2018 19:36:37 +0000 (20:36 +0100)]
Merge branch 'master' into blender2.8

2 years agoEevee: Film filter default to 1.5 instead of 1.0
Dalai Felinto [Fri, 9 Feb 2018 19:05:43 +0000 (17:05 -0200)]
Eevee: Film filter default to 1.5 instead of 1.0

Cycles already uses 1.5 as default. BI original 1.0 filter doesn't look good for
Eevee. The ideal scenario would be for both Cycles AND Eevee to use the same DNA

But for now it is nice to at least have Eevee renders to look better by default.

Note: This handles doversion for 2.7x files only. Files previously created in
2.8 need to be manually corrected.

2 years agoCycles: add random walk subsurface scattering to Principled BSDF.
Brecht Van Lommel [Thu, 8 Feb 2018 15:19:04 +0000 (16:19 +0100)]
Cycles: add random walk subsurface scattering to Principled BSDF.

Differential Revision:

2 years agoCycles: random walk subsurface scattering.
Brecht Van Lommel [Sun, 21 Jan 2018 13:04:22 +0000 (14:04 +0100)]
Cycles: random walk subsurface scattering.

It is basically brute force volume scattering within the mesh, but part
of the SSS code for faster performance. The main difference with actual
volume scattering is that we assume the boundaries are diffuse and that
all lighting is coming through this boundary from outside the volume.

This gives much more accurate results for thin features and low density.
Some challenges remain however:

* Significantly more noisy than BSSRDF. Adding Dwivedi sampling may help
  here, but it's unclear still how much it helps in real world cases.
* Due to this being a volumetric method, geometry like eyes or mouth can
  darken the skin on the outside. We may be able to reduce this effect,
  or users can compensate for it by reducing the scattering radius in
  such areas.
* Sharp corners are quite bright. This matches actual volume rendering
  and results in some other renderers, but maybe not so much real world

Differential Revision:

2 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Fri, 9 Feb 2018 16:24:23 +0000 (17:24 +0100)]
Merge branch 'master' into blender2.8

2 years agoFix (unreported) error on freeing timers which customdata pointer shall not be freed.
Bastien Montagne [Fri, 9 Feb 2018 16:19:11 +0000 (17:19 +0100)]
Fix (unreported) error on freeing timers which customdata pointer shall not be freed.

Looks like there was no way to avoid that so far, since
WM_event_add_timer_notifier can set mere int-in-pointer there, this can
cause issues. So added mere flags system to wmTimer to allow
controlling this.

2 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Fri, 9 Feb 2018 15:26:05 +0000 (16:26 +0100)]
Merge branch 'master' into blender2.8

2 years agoFix (unreported) crash when duplicating a FileBrowser window in preview draw mode.
Bastien Montagne [Fri, 9 Feb 2018 15:13:13 +0000 (16:13 +0100)]
Fix (unreported) crash when duplicating a FileBrowser window in preview draw mode.

We did not clear preview or smoothscroll timers pointers in copy code...

2 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Fri, 9 Feb 2018 13:27:32 +0000 (14:27 +0100)]
Merge branch 'master' into blender2.8

2 years agoDoc: attempt to document RNA's FunctionFlag.
Bastien Montagne [Fri, 9 Feb 2018 11:04:29 +0000 (12:04 +0100)]
Doc: attempt to document RNA's FunctionFlag.

Tired of searching through code to find which is what, and how to use it
in the C callback, everytime I need anot-so-common option...

2 years agoPaint Dirt: remove operator call from Python
Sybren A. Stüvel [Fri, 9 Feb 2018 11:52:46 +0000 (12:52 +0100)]
Paint Dirt: remove operator call from Python

Instead of calling an operator I just call ``. Moving the
code into a separate function also simplifies it. In its new form there is
also no undefined behaviour when me.vertex_colors is non-empty but without
active layer.

2 years agoCleanup: use workspace for object_mode when possible
Campbell Barton [Fri, 9 Feb 2018 11:14:17 +0000 (22:14 +1100)]
Cleanup: use workspace for object_mode when possible

2 years agoFix collection syncing when creating new collections from the outliner
Dalai Felinto [Fri, 9 Feb 2018 11:04:00 +0000 (09:04 -0200)]
Fix collection syncing when creating new collections from the outliner

We were not passing a scene collection parent to the BKE_collection_add
function, which in turn made syncing not work.

Right now we:
* Explicitly pass the master collection in this case
* Fallback to the master collection in other cases

With unittest.

2 years agoPaint Dirt: some small fixes
Sybren A. Stüvel [Thu, 8 Feb 2018 11:33:46 +0000 (12:33 +0100)]
Paint Dirt: some small fixes

- normalize → average the vector: the vector isn't normalized here, because
  it doesn't necessarily becomes unit length. Instead, the sum is converted
  to an average vector.
- angle is the acos()…: the dot product between the vertex normal and the
  average direction of the connected vertices is computed, and not the
- The initial `con` list was discarded immediately and replaced by a new
- File didn't end with a newline.

2 years agoMissed opencollada edit in recent changes
Campbell Barton [Fri, 9 Feb 2018 09:25:32 +0000 (20:25 +1100)]
Missed opencollada edit in recent changes

2 years agoFix crash with font on curve
Sergey Sharybin [Fri, 9 Feb 2018 09:13:42 +0000 (10:13 +0100)]
Fix crash with font on curve

Was a mistake from recent texspace changes.

Reported by Pablo here in the studio!

2 years agoCleanup: pass eval_ctx to sculpt_init_session
Campbell Barton [Fri, 9 Feb 2018 06:46:46 +0000 (17:46 +1100)]
Cleanup: pass eval_ctx to sculpt_init_session

Matches vertex paint mode

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 9 Feb 2018 02:56:49 +0000 (13:56 +1100)]
Merge branch 'master' into blender2.8

2 years agoCMake: include missing headers
Campbell Barton [Fri, 9 Feb 2018 02:48:34 +0000 (13:48 +1100)]
CMake: include missing headers

2 years agoFix T53958: Sequencer zoom 1:1 fails
Campbell Barton [Fri, 9 Feb 2018 02:39:47 +0000 (13:39 +1100)]
Fix T53958: Sequencer zoom 1:1 fails

2 years agoFix T53347: Vertex paint crash
Campbell Barton [Fri, 9 Feb 2018 00:58:19 +0000 (11:58 +1100)]
Fix T53347: Vertex paint crash

Vertex paint was still using sculpt mode brush (which can be NULL).

2 years agoFix blenderplayer (tm)
Dalai Felinto [Thu, 8 Feb 2018 19:40:49 +0000 (17:40 -0200)]
Fix blenderplayer (tm)

2 years agoMerge branch 'master' into blender2.8
Tamito Kajiyama [Thu, 8 Feb 2018 18:00:20 +0000 (03:00 +0900)]
Merge branch 'master' into blender2.8


2 years agoFix for missing "Use Freestyle" toggle in the Cycles "Layer" options panel.
Tamito Kajiyama [Thu, 8 Feb 2018 17:46:20 +0000 (02:46 +0900)]
Fix for missing "Use Freestyle" toggle in the Cycles "Layer" options panel.

Reviewed By: Brecht Van Lommel (brecht), Dalai Felinto (dfelinto)

Differential Revision:

2 years agoCycles: unify OSL BSSRDF closure into a single bssrdf() closure with method.
Brecht Van Lommel [Thu, 8 Feb 2018 15:14:04 +0000 (16:14 +0100)]
Cycles: unify OSL BSSRDF closure into a single bssrdf() closure with method.

This is similar to the upstream unified microfacet() closure, and makes it
easier to extend in the future.

2 years agoCode refactor: tweaks in SSS code to prepare for coming changes.
Brecht Van Lommel [Thu, 8 Feb 2018 11:45:12 +0000 (12:45 +0100)]
Code refactor: tweaks in SSS code to prepare for coming changes.

This also fixes a subtle bug in the split kernel branched path SSS, the
volume stack update can't be shared between multiple hit points.

2 years agoCode refactor: remove unnecessary RNG offset in branched path code.
Brecht Van Lommel [Thu, 8 Feb 2018 12:58:02 +0000 (13:58 +0100)]
Code refactor: remove unnecessary RNG offset in branched path code.

This is only needed for SSS which bounces to a different shading point.

2 years agoCycles tests: separate directory for sss tests.
Brecht Van Lommel [Thu, 8 Feb 2018 12:32:07 +0000 (13:32 +0100)]
Cycles tests: separate directory for sss tests.

2 years agoDisable fast adjust code. Add other end spec matching.
Howard Trickey [Thu, 8 Feb 2018 15:48:24 +0000 (10:48 -0500)]
Disable fast adjust code. Add other end spec matching.

This fixes a few caess where new width adjustment code

was less than ideal.

2 years agoRemove redundant check for armature mode
Campbell Barton [Thu, 8 Feb 2018 15:39:54 +0000 (02:39 +1100)]
Remove redundant check for armature mode

Caller ensures pose-mode, this flag is only set while drawing.

2 years agoFix mixed weight-paint & pose mode
Campbell Barton [Thu, 8 Feb 2018 15:31:09 +0000 (02:31 +1100)]
Fix mixed weight-paint & pose mode

2 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Thu, 8 Feb 2018 15:27:28 +0000 (16:27 +0100)]
Merge branch 'master' into blender2.8

2 years agoRemove Carve boolean
Sergey Sharybin [Wed, 7 Feb 2018 13:44:59 +0000 (14:44 +0100)]
Remove Carve boolean

We've got quite comprehensive BMesh based implementation, which is way easier
for maintenance than abandoned Carve library.

After all the time BMesh implementation was working on the same level of
limitations about manifold meshes and touching edges than Carve. Is better
to focus on maintaining one boolean implementation now.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision:

2 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Thu, 8 Feb 2018 14:14:22 +0000 (15:14 +0100)]
Merge branch 'master' into blender2.8

2 years agoDepsgraph: Fix missing camera animation after visibility changes
Sergey Sharybin [Thu, 8 Feb 2018 14:12:38 +0000 (15:12 +0100)]
Depsgraph: Fix missing camera animation after visibility changes

Synchronize code in on_visible_update with depsgraph building.

Need to update all cameras, since they might be hooked up to marker.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 8 Feb 2018 12:48:36 +0000 (23:48 +1100)]
Merge branch 'master' into blender2.8

2 years agoMesh: concave quad support
Campbell Barton [Thu, 8 Feb 2018 12:38:17 +0000 (23:38 +1100)]
Mesh: concave quad support

Previously quads always split along first-third vertices.
This is still the default, to avoid flickering with animated deformation
however concave quads that would create two opposing triangles now use
second-fourth split.

Reported as T53999 although this issue has been known limitation
for a long time.

2 years agoDopesheet: Synchronize selection on bones when selecting everything
Sergey Sharybin [Thu, 8 Feb 2018 11:35:42 +0000 (12:35 +0100)]
Dopesheet: Synchronize selection on bones when selecting everything

This is also how box selection and mouse selection is working.

Requested by Hjalti, reviewed by Joshua. Thanks!

2 years agoFix error in object-mode removal
Campbell Barton [Thu, 8 Feb 2018 10:58:45 +0000 (21:58 +1100)]
Fix error in object-mode removal

Wasn't setting transform context

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 8 Feb 2018 10:43:37 +0000 (21:43 +1100)]
Merge branch 'master' into blender2.8

2 years agoFail gracefully when editmode data doesn't exist
Campbell Barton [Thu, 8 Feb 2018 10:27:08 +0000 (21:27 +1100)]
Fail gracefully when editmode data doesn't exist

Sync changes from 2.8

2 years agoObject Mode: move to workspace struct
Campbell Barton [Thu, 8 Feb 2018 10:14:26 +0000 (21:14 +1100)]
Object Mode: move to workspace struct

- Read-only access can often use EvaluationContext.object_mode
- Write access to go to WorkSpace.object_mode.
- Some TODO's remain (marked as "TODO/OBMODE")
- Add-ons will need updating
  (context.active_object.mode -> context.workspace.object_mode)
- There will be small/medium issues that still need resolving
  this does work on a basic level though.

See D3037

2 years agoFixing builds for 2.8 - outliner typo
Dalai Felinto [Thu, 8 Feb 2018 10:03:35 +0000 (08:03 -0200)]
Fixing builds for 2.8 - outliner typo

2 years agoLinux: Add appdata.xml file for packagers
Campbell Barton [Thu, 8 Feb 2018 04:57:14 +0000 (15:57 +1100)]
Linux: Add appdata.xml file for packagers

D3025 by @januz

2 years agoFix: Data-Blocks view in Outliner no longer displayed property values, making it...
Joshua Leung [Thu, 8 Feb 2018 03:15:49 +0000 (16:15 +1300)]
Fix: Data-Blocks view in Outliner no longer displayed property values, making it semi-useless

Partially revert efe1af3d11a930b539718cc566049f07316427ff

The offending commit over-zealously removed the datablocks viewer case
as well, when only the condition needed to be modified.