23 months agoMerge branch 'master' into blender2.8
Sergey Sharybin [Mon, 5 Mar 2018 15:14:46 +0000 (16:14 +0100)]
Merge branch 'master' into blender2.8

23 months agoSequencer: Expose read-only FPS property for movie-type strips
Sergey Sharybin [Mon, 5 Mar 2018 14:00:04 +0000 (15:00 +0100)]
Sequencer: Expose read-only FPS property for movie-type strips

Main purpose is to make it possible to cover FPS detection with regression test.
But it might also be handy for some other scripters.

Thanks Campbell for review!

23 months agoUI: rename panel 'Workspace Add-ons'
Campbell Barton [Mon, 5 Mar 2018 13:56:51 +0000 (00:56 +1100)]
UI: rename panel 'Workspace Add-ons'

Show/Hide is limited to menus

23 months agoFix T54204: Wrong selection on Clean Tracks (Motion Tracking)
Sergey Sharybin [Mon, 5 Mar 2018 11:00:25 +0000 (12:00 +0100)]
Fix T54204: Wrong selection on Clean Tracks (Motion Tracking)

A mistake in a fix for T53612.

Regression in 2.79a, candidate for 2.79b :S

23 months agoFix T54225: Blur node stopped working when Map Range was fed with image
Sergey Sharybin [Mon, 5 Mar 2018 10:44:42 +0000 (11:44 +0100)]
Fix T54225: Blur node stopped working when Map Range was fed with image

The issue was happening with fast Gaussian blur, and caused by NaN value pixels
in the input buffer.

Now made it so Map Range output does not produce NaN, by returning arbitrary
value of 0. Still better than NaN!

23 months agoCleanup: left wrong comment in
Campbell Barton [Mon, 5 Mar 2018 06:01:57 +0000 (17:01 +1100)]
Cleanup: left wrong comment in

23 months agoFix T53478, T53430: Sequencer cut edge case fails
Campbell Barton [Mon, 5 Mar 2018 05:00:27 +0000 (16:00 +1100)]
Fix T53478, T53430: Sequencer cut edge case fails

Previous fix for T53430 caused T54200.

The edge case for soft & hard cuts weren't working,
where the strip used start/end-still & the frame was placed exactly on
the start/end of of the sequence content.

T54200 fixed the end-still case but broke hard-cuts for all other cases.

This fixes the case for soft/hard cuts with/without start/end-still.

23 months agoRevert "Fix T53430: Cut at the strip end fails w/ endstill"
Campbell Barton [Mon, 5 Mar 2018 04:11:33 +0000 (15:11 +1100)]
Revert "Fix T53430: Cut at the strip end fails w/ endstill"

This reverts commit 855799ecc1c5e53d9fbfe520fd5402bc0138f674.

Caused T54200

23 months agoError passing context arg to marker menu
Campbell Barton [Mon, 5 Mar 2018 03:10:43 +0000 (14:10 +1100)]
Error passing context arg to marker menu

own mistake in 6981861fcfd

23 months agoFix LLVM/OSL library detection on macOS to prefer own OSL libraries.
Brecht Van Lommel [Sun, 4 Mar 2018 06:30:04 +0000 (07:30 +0100)]
Fix LLVM/OSL library detection on macOS to prefer own OSL libraries.

23 months agoFix Clang compiler detection on macOS.
Brecht Van Lommel [Sun, 4 Mar 2018 06:22:05 +0000 (07:22 +0100)]
Fix Clang compiler detection on macOS.

"AppleClang" was not properly detected here. Now make the compiler ID
test a bit less compact but consistent with other code.

23 months agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Sat, 3 Mar 2018 13:58:14 +0000 (14:58 +0100)]
Merge branch 'master' into blender2.8

23 months agoFix T54211: OpenGL debug error message in texture draw mode.
Brecht Van Lommel [Sat, 3 Mar 2018 13:55:35 +0000 (14:55 +0100)]
Fix T54211: OpenGL debug error message in texture draw mode.

Quite harmless and won't be a problem in 2.8.

23 months agoWorkSpace: use existing mode data w/ scene-switch
Campbell Barton [Sat, 3 Mar 2018 05:39:57 +0000 (16:39 +1100)]
WorkSpace: use existing mode data w/ scene-switch

Check if mode data exists before attempting to change the modes.

23 months agoWorkSpace: avoid redundant notifiers w/ mode sync
Campbell Barton [Sat, 3 Mar 2018 05:24:35 +0000 (16:24 +1100)]
WorkSpace: avoid redundant notifiers w/ mode sync

23 months agoWorkSpace: always change modes w/ the same active object
Campbell Barton [Fri, 2 Mar 2018 14:43:44 +0000 (01:43 +1100)]
WorkSpace: always change modes w/ the same active object

23 months agoFix T54202: Cycles crash rendering empty mesh volume after recent optimization.
Brecht Van Lommel [Fri, 2 Mar 2018 21:38:59 +0000 (22:38 +0100)]
Fix T54202: Cycles crash rendering empty mesh volume after recent optimization.

23 months agoFix texture panel for Cycles
Dalai Felinto [Fri, 2 Mar 2018 19:31:33 +0000 (16:31 -0300)]
Fix texture panel for Cycles

I keep reading that texture painting is not working yet. However it is fully
working. We even have a "Full Shading" option in the viewport display panel.

Clay/EEVEE still need their UI figured out. But the context itself is doing
its part after this patch, and at least for Cycles it's working like 2.79.

23 months agoFix Cycle standalone build.
Brecht Van Lommel [Fri, 2 Mar 2018 18:54:14 +0000 (19:54 +0100)]
Fix Cycle standalone build.

23 months agoEevee: Make use of culling when rendering the shadowmaps.
Clément Foucault [Fri, 2 Mar 2018 17:35:25 +0000 (18:35 +0100)]
Eevee: Make use of culling when rendering the shadowmaps.

23 months agoEevee: Cleanup & fix Warnings.
Clément Foucault [Fri, 2 Mar 2018 17:08:40 +0000 (18:08 +0100)]
Eevee: Cleanup & fix Warnings.

23 months agoDRW: Add DRWMatrixState to manage all matrices together.
Clément Foucault [Fri, 2 Mar 2018 17:05:42 +0000 (18:05 +0100)]
DRW: Add DRWMatrixState to manage all matrices together.

23 months agoDRW: Refactor simple instancing.
Clément Foucault [Thu, 1 Mar 2018 18:27:38 +0000 (19:27 +0100)]
DRW: Refactor simple instancing.

Instead of creating a new instancing shading group without attrib, we now have instancing calls. The benefits is that they can be culled.
They can be used in conjuction with the standard and generate calls but shader must support it (which is generally not the case).
We store a pointer to the actual count so that the number can be tweaked between redraw.

This will makes multi layer rendering more efficient.

23 months agoObject Mode: Make use of optimized DRW_shgroup_call_object_add
Clément Foucault [Thu, 1 Mar 2018 14:30:48 +0000 (15:30 +0100)]
Object Mode: Make use of optimized DRW_shgroup_call_object_add

23 months agoClay: Perf: Early out of SSAO if there is no need for it.
Clément Foucault [Thu, 1 Mar 2018 14:30:25 +0000 (15:30 +0100)]
Clay: Perf: Early out of SSAO if there is no need for it.

23 months agoFix build errors in Linux
Dalai Felinto [Fri, 2 Mar 2018 16:09:32 +0000 (13:09 -0300)]
Fix build errors in Linux

23 months agoMerge branch 'master' into blender2.8
Sergey Sharybin [Fri, 2 Mar 2018 15:42:27 +0000 (16:42 +0100)]
Merge branch 'master' into blender2.8

23 months agoDepsgraph: Fix dependency cycle when ID prop drives ID property
Sergey Sharybin [Fri, 2 Mar 2018 15:27:31 +0000 (16:27 +0100)]
Depsgraph: Fix dependency cycle when ID prop drives ID property

Introduced explicit ID property node for driers in depsgraph,
so it is clear what is the input for driver, and what is the

This also solved relations builder throwing lots of errors
due to ID property not being found.

23 months agoDepsgraph: Silence obviously noisy relations build errors
Sergey Sharybin [Fri, 2 Mar 2018 14:50:28 +0000 (15:50 +0100)]
Depsgraph: Silence obviously noisy relations build errors

Those were happening for drivers which points to invalid drivers, and those
drivers will have their own dedicated error prints.

23 months agoDepsgraph: Cleanup, use dedicated function to ensure node exists
Sergey Sharybin [Fri, 2 Mar 2018 13:35:19 +0000 (14:35 +0100)]
Depsgraph: Cleanup, use dedicated function to ensure node exists

23 months agoWorkSpace: Simplify exiting mode after changes
Campbell Barton [Fri, 2 Mar 2018 13:19:49 +0000 (00:19 +1100)]
WorkSpace: Simplify exiting mode after changes

It was too tricky to know ahead of time if an object would still
be visible in the new window/workspace/scene/layer combination,
especially since other windows may share some of these data-blocks.

So store the context, make the change, then check if the object is
still visible, freeing mode data of it's not.

23 months agoDepsgraph: Cleanup, function return value
Sergey Sharybin [Fri, 2 Mar 2018 13:12:33 +0000 (14:12 +0100)]
Depsgraph: Cleanup, function return value

Driver build result was never used, so no reason to return operation.

23 months agoWorkSpace: move edit mode w/ sync into own func
Campbell Barton [Fri, 2 Mar 2018 12:04:19 +0000 (23:04 +1100)]
WorkSpace: move edit mode w/ sync into own func

23 months agoCorrect draw manager locking flag check
Campbell Barton [Fri, 2 Mar 2018 11:53:01 +0000 (22:53 +1100)]
Correct draw manager locking flag check

Error in eeae50fc1c8, thanks @mano-wii for spotting

23 months agoDepsgraph: Fix cycle detector to handle closed loops
Sergey Sharybin [Fri, 2 Mar 2018 11:27:05 +0000 (12:27 +0100)]
Depsgraph: Fix cycle detector to handle closed loops

It was possible to have relations like A -> B -> C -> A (import thing is
that no other operations points into this cluster) which were not detected
or reported by dependency cycle solver.

Now this is solved by ensuring we don't leave unvisited nodes behind.

23 months agoCleanup: Avoid double semi-colon
Sergey Sharybin [Fri, 2 Mar 2018 10:26:07 +0000 (11:26 +0100)]
Cleanup: Avoid double semi-colon

23 months agoTests: Avoid access globals from abstract base class
Sergey Sharybin [Fri, 2 Mar 2018 10:16:59 +0000 (11:16 +0100)]
Tests: Avoid access globals from abstract base class

Delegate functionality to subclasses, assert when subclasses didn't do
job the are supposed to do.

Thanks Sybren for pointing to a proper solution.

23 months agoCycles: Fix building of OpenCL kernels after volume optimization commit
Mai Lavelle [Fri, 2 Mar 2018 09:52:32 +0000 (04:52 -0500)]
Cycles: Fix building of OpenCL kernels after volume optimization commit

OpenCL is C based, so no support for operators.

Related commit: 7377d411b47d50cd943cd

23 months agoWorkSpace: ED_workspace_object_mode_in_other_window check other windows
Campbell Barton [Fri, 2 Mar 2018 09:01:49 +0000 (20:01 +1100)]
WorkSpace: ED_workspace_object_mode_in_other_window check other windows

The same workspace can have different active objects depending on the
window. So check other windows.

23 months agoMaintain scaling ratio of non-free axes in Maintain Volume T48079 fix.
Alexander Gavrilov [Fri, 2 Mar 2018 08:01:49 +0000 (11:01 +0300)]
Maintain scaling ratio of non-free axes in Maintain Volume T48079 fix.

This is probably a better way to handle it: instead of totally
discarding scaling of non-free axes, keep the ratio between them.
Basically the logic of the constraint is now that it rescales the
object uniformly in the non-free axis plane in order to force the
total volume change to the desired value.

23 months agoWorkSpace: object-sync when changing workspaces.
Campbell Barton [Fri, 2 Mar 2018 08:01:38 +0000 (19:01 +1100)]
WorkSpace: object-sync when changing workspaces.

23 months agoCleanup: move ED_object_mode_generic_* to object_modes.c
Campbell Barton [Fri, 2 Mar 2018 03:55:53 +0000 (14:55 +1100)]
Cleanup: move ED_object_mode_generic_* to object_modes.c

23 months agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 2 Mar 2018 03:46:21 +0000 (14:46 +1100)]
Merge branch 'master' into blender2.8

23 months agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 2 Mar 2018 03:09:27 +0000 (14:09 +1100)]
Merge branch 'master' into blender2.8

23 months agoObject Mode: move logic to 'object_modes.c'
Campbell Barton [Fri, 2 Mar 2018 02:53:17 +0000 (13:53 +1100)]
Object Mode: move logic to 'object_modes.c'

Was mixed with edit-mode, centralize mode switching in a single file.

No functional changes.

23 months agoCleanup: remove object-mode 'reset' check
Campbell Barton [Fri, 2 Mar 2018 02:32:24 +0000 (13:32 +1100)]
Cleanup: remove object-mode 'reset' check

Silently fail when attempting to enter a mode that's not compatible
with the object.

23 months agoCleanup: rename 'screen_changed_update'
Campbell Barton [Fri, 2 Mar 2018 02:23:45 +0000 (13:23 +1100)]
Cleanup: rename 'screen_changed_update'

Match 'workspace_change_update'.

23 months agoWorksSpace: sync object-modes when changing scene
Campbell Barton [Fri, 2 Mar 2018 02:19:52 +0000 (13:19 +1100)]
WorksSpace: sync object-modes when changing scene

Note that this code will likely be generalized,
currently each new case is a little different though
so it's too early to move them into general functions.

23 months agoFCurve: only calculate single axis length
Campbell Barton [Fri, 2 Mar 2018 01:43:41 +0000 (12:43 +1100)]
FCurve: only calculate single axis length

Was calculating all 3

23 months agoFix building w/o Python
Campbell Barton [Fri, 2 Mar 2018 00:09:24 +0000 (11:09 +1100)]
Fix building w/o Python

Also minor cleanup.

23 months agoCleanup: remove print
Campbell Barton [Thu, 1 Mar 2018 12:29:39 +0000 (23:29 +1100)]
Cleanup: remove print

23 months agoRemove legacy code used for sequencer preview image
Dalai Felinto [Thu, 1 Mar 2018 21:22:29 +0000 (18:22 -0300)]
Remove legacy code used for sequencer preview image

This (now removed code) calls gl_Vertex deprecated draws. It was doing
background drawing (color gradient, flat background) which is not used
by any engine.

23 months agoDiscard non-free axis scaling in Maintain Volume to improve 2.79 compat.
Alexander Gavrilov [Thu, 1 Mar 2018 17:45:18 +0000 (20:45 +0300)]
Discard non-free axis scaling in Maintain Volume to improve 2.79 compat.

It seems the reason the old version of the constraint overcompensates
as reported in T48079 is to allow the constraint to work with uniform
scaling on all axes. However the way it did that actually _requires_
uniform scaling for the constraint to work correctly, and breaks if
only the free scaling axis is used to avoid redundant channels.

This version attempts to allow both by discarding scaling in the non-
free directions instead of applying the correction on top of it.

23 months agoPython tests: Split re-usable test related functionality to a module
Sergey Sharybin [Thu, 1 Mar 2018 16:39:57 +0000 (17:39 +0100)]
Python tests: Split re-usable test related functionality to a module

The idea is to avoid re-implementing this for an upcoming FFmpeg tests.

23 months agoRefactor: Merge non-functional-change part of 'edit normals' 2017 GSoC.
Bastien Montagne [Thu, 1 Mar 2018 15:54:21 +0000 (16:54 +0100)]
Refactor: Merge non-functional-change part of 'edit normals' 2017 GSoC.

This merges changes in internals, runtime-only of existing custom
normals code, which make sense as of themselves, and will make diff of
soc branch easier/lighter to review.

In the details, it mostly changes two things:

* Now, smooth fans (aka MLoopNorSpaceArray) can store either loop
indices, or pointers to BMLoop themselves. This makes sense since in
BMesh, it's relatively easy to get index from a BMElement, but nearly
impracticable to go the other way around.

* First change enforces another, now we cannot rely anymore on `loops`
being NULL in MLoopNorSpace to detect single-loop fans, so we instead
store that info in a new flag.

Again, these are expected to be totally non-functional changes.

23 months agoMore clean of macros with an _END and no _BEGIN
Dalai Felinto [Thu, 1 Mar 2018 15:21:56 +0000 (12:21 -0300)]
More clean of macros with an _END and no _BEGIN

Follow up on 7aed2de798b1e5f8663e.

23 months agoFix assert on exit edit-mode
Campbell Barton [Thu, 1 Mar 2018 11:36:40 +0000 (22:36 +1100)]
Fix assert on exit edit-mode

23 months ago3D View: minor selection tweaks
Campbell Barton [Thu, 1 Mar 2018 11:01:46 +0000 (22:01 +1100)]
3D View: minor selection tweaks

- don't initialize the GL context when cache is used.
- don't run second pass when the first one has no hits.

23 months agoMerge branch 'master' into blender2.8
Kévin Dietrich [Thu, 1 Mar 2018 10:56:01 +0000 (11:56 +0100)]
Merge branch 'master' into blender2.8

23 months agoCycles volume: fast empty space optimization by generating a tight mesh
Kévin Dietrich [Thu, 1 Mar 2018 10:54:01 +0000 (11:54 +0100)]
Cycles volume: fast empty space optimization by generating a tight mesh
around the volume.

We generate a tight mesh around the active voxels of the volume in order
to effectively skip empty space, and start volume ray marching as close
to interesting volume data as possible. See code comments for details on
how the mesh generation algorithm works.

This gives up to 2x speedups in some scenes.

Reviewed by: brecht, dingto

Reviewers: #cycles

Subscribers: lvxejay, jtheninja, brecht

Differential Revision:

23 months agoWorkSpace: fix mode exiting w/ multi-window
Campbell Barton [Thu, 1 Mar 2018 10:07:09 +0000 (21:07 +1100)]
WorkSpace: fix mode exiting w/ multi-window

Activating an object exited modes for all other objects in the layer.
Now check these objects aren't active in other windows first.

23 months agoCleanup: macro's w/ an _END need a matching _BEGIN
Campbell Barton [Thu, 1 Mar 2018 08:00:54 +0000 (19:00 +1100)]
Cleanup: macro's w/ an _END need a matching _BEGIN

Convention from 2.7x, since some looping macros don't need an '_END',
it avoids confusion to keep this.

23 months agoMissing assignment in object mode sync
Campbell Barton [Thu, 1 Mar 2018 07:34:16 +0000 (18:34 +1100)]
Missing assignment in object mode sync

Own error in recent change (1aeb9294f4a)

23 months agoDRW: add ability to lock states from changing
Campbell Barton [Thu, 1 Mar 2018 06:14:35 +0000 (17:14 +1100)]
DRW: add ability to lock states from changing

Selection code relies on being able to set the depth functions
however passes have their own depth settings.

Add DRW_state_lock to ignore passes settings for particular flags.

This fixes occlusion queries cycling through objects under the cursor.

23 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 1 Mar 2018 05:48:13 +0000 (16:48 +1100)]
Merge branch 'master' into blender2.8

23 months agoGPU_select: remove unused finalize function
Campbell Barton [Thu, 1 Mar 2018 05:41:50 +0000 (16:41 +1100)]
GPU_select: remove unused finalize function

Changed 2.8x code so this is no longer needed.

23 months agoFix T54190: Occlusion query select failed
Campbell Barton [Thu, 1 Mar 2018 05:31:36 +0000 (16:31 +1100)]
Fix T54190: Occlusion query select failed

By default select wasn't picking the nearest object,
this could have been fixed by not clearing the depth buffer,
but calling GPU_select_(begin/end) without the binded frame-buffer
caused issues for depth-picking. So move GPU_select begin/end to a

This also has the advantage that only needs to populate the engines once
to draw two passes.

Note that cycling through objects fails with occlusion queries still,
will fix shortly.

23 months agoDRW: Initial implementation of Frustum culling.
Clément Foucault [Thu, 1 Mar 2018 02:52:54 +0000 (03:52 +0100)]
DRW: Initial implementation of Frustum culling.

This is very efficient and add a pretty low overhead (0.1ms of drawing time for 10K objects passing through all tests, on my i3-4100M).
The like the rest of the DRWCallState, test is "cached" until the view matrices changes.

23 months agoClay: Make use of optimized DRW_shgroup_call_object_add.
Clément Foucault [Thu, 1 Mar 2018 02:41:09 +0000 (03:41 +0100)]
Clay: Make use of optimized DRW_shgroup_call_object_add.

23 months agoDRW: DRWCallState: Fix matflag being overwritten by other engines.
Clément Foucault [Thu, 1 Mar 2018 02:40:14 +0000 (03:40 +0100)]
DRW: DRWCallState: Fix matflag being overwritten by other engines.

23 months agoDRW: Codestyle: Remove DRWCallHeader and DRWCallGenerate
Clément Foucault [Wed, 28 Feb 2018 16:11:54 +0000 (17:11 +0100)]
DRW: Codestyle: Remove DRWCallHeader and DRWCallGenerate

23 months agoDRW: Reuse DRWCallState for the same object.
Clément Foucault [Wed, 28 Feb 2018 15:23:33 +0000 (16:23 +0100)]
DRW: Reuse DRWCallState for the same object.

This enables caching the matrices and reducing redraw time of the same object which is particulary important for eevee.

23 months agoDRW: Merge calls_generate pool with calls pool & add DRWCallState pool.
Clément Foucault [Wed, 28 Feb 2018 03:04:40 +0000 (04:04 +0100)]
DRW: Merge calls_generate pool with calls pool & add DRWCallState pool.

23 months agoDRW: Fix warnings in Release Build.
Clément Foucault [Wed, 28 Feb 2018 02:17:13 +0000 (03:17 +0100)]
DRW: Fix warnings in Release Build.

23 months agoWorkSpace: show/hode opt-out support for addons
Campbell Barton [Thu, 1 Mar 2018 00:20:12 +0000 (11:20 +1100)]
WorkSpace: show/hode opt-out support for addons

In some cases it doesn't make sense for add-ons to be listed for hiding.
Especially for import/export which use minimal UI space.

This adds `bl_info["use_owner"]` to add-ons,
currently defaulting to True for all non Import-Export add-ons.

23 months agoCycles: don't count volume boundaries as transparent bounces.
Brecht Van Lommel [Wed, 28 Feb 2018 22:00:46 +0000 (23:00 +0100)]
Cycles: don't count volume boundaries as transparent bounces.

This is more important now that we will have tigther volume bounds that
we hit multiple times. It also avoids some noise due to RR previously
affecting these surfaces, which shouldn't have been the case and should
eventually be fixed for transparent BSDFs as well.

For non-volume scenes I found no performance impact on NVIDIA or AMD.
For volume scenes the noise decrease and fixed artifacts are worth the
little extra render time, when there is any.

23 months agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Wed, 28 Feb 2018 20:33:40 +0000 (21:33 +0100)]
Merge branch 'master' into blender2.8

23 months agoCycles: change principled BSDF default distribution and SSS.
Brecht Van Lommel [Wed, 28 Feb 2018 05:33:07 +0000 (06:33 +0100)]
Cycles: change principled BSDF default distribution and SSS.

* Use a subsurface color equal to the base color, and give the subsurface
  radius skin like values by default. This is how the parameter should
  typically be used.
* Use GGX by default, multiscatter GGX is still quite noisy and has some
  fireflies so let's keep it optional for now.

23 months agoCycles: principled absorption color now has more effect at lower values.
Brecht Van Lommel [Wed, 28 Feb 2018 03:36:55 +0000 (04:36 +0100)]
Cycles: principled absorption color now has more effect at lower values.

23 months agoPoint cache: Pass EvaluationContext for all the related functions
Dalai Felinto [Wed, 28 Feb 2018 16:54:00 +0000 (13:54 -0300)]
Point cache: Pass EvaluationContext for all the related functions

Now the only missing bit seems to be in Cycles to pass depsgraph to

Ideally we could get evaluation context instead of using depsgraph + settings.
But for the other rna EvaluationContext functions this is how we are doing.

Reviewers: sergey, brecht

Differential Revision:

23 months agomerge from master (needed to fix collada headerfiles which have been modified in...
Gaia Clary [Wed, 28 Feb 2018 16:29:56 +0000 (17:29 +0100)]
merge from master (needed to fix collada headerfiles which have been modified in master and in blender2.8 slightly different)

23 months agoFix T52685, part II: Add option to strip numbers from flipped bone names again.
Bastien Montagne [Wed, 28 Feb 2018 16:13:31 +0000 (17:13 +0100)]
Fix T52685, part II: Add option to strip numbers from flipped bone names again.

While doing so with Bone_R.001, Bone_R.003, Bone_R.003 etc. is doomed to
issues, doing that on duplicates of actually correctly named bones can
be handy, and safe.

So adding back as an option (was removed in rB702bc5ba26d5).

23 months agocollada: EvaluationContext is now feeded into the class instances of AnimationExporte...
Gaia Clary [Wed, 28 Feb 2018 16:10:13 +0000 (17:10 +0100)]
collada: EvaluationContext is now feeded into the class instances of AnimationExporter and DocumentExporter on creation. Also skipped the const qualifier for now because BKE_scene_graph_update_for_newframe() needs it to be not const

23 months agoFix T52685: Flip names for bones its not working.
Bastien Montagne [Wed, 28 Feb 2018 15:53:14 +0000 (16:53 +0100)]
Fix T52685: Flip names for bones its not working.

Flip names operator changed in rB702bc5ba26d5, to some sensible
behavior. But this breaks common workflow of 'duplicate part of the
bones, scale-mirror new ones, and flip their names'.

So now, instead of doing this in two steps, trying to guesstimate which
bones should get which name, just add option to flip names to duplicate
operator itself. Simpler, safer, and much, much more consitent behavior
and predictable results.

23 months agoRadial control: Skip operator properties from being saved
Sergey Sharybin [Wed, 28 Feb 2018 15:14:35 +0000 (16:14 +0100)]
Radial control: Skip operator properties from being saved

This solves issue with tweaking brush size when interleaving particle edit
and texture paint modes. The issue was caused by texture paing setting more
operator properties then it's done for particle edit mode, which made window
manager to use saved proeprties for the "missing" ones.

Don't see any reason why we would want to save any of those properties.

This is a regression since rB83b60dac57a1.

23 months agoCollada: Make EvaluationContext const as its only used for reading here
Gaia Clary [Wed, 28 Feb 2018 15:05:18 +0000 (16:05 +0100)]
Collada: Make EvaluationContext const as its only used for reading here

23 months agocollada: call from operator to Collada exporter/importer now uses structures instead...
Gaia Clary [Wed, 28 Feb 2018 14:59:49 +0000 (15:59 +0100)]
collada: call from operator to Collada exporter/importer now uses structures instead of passing many parameters

23 months agoCollada: Moved structure definitions for export settings to the exportSettings.h...
Gaia Clary [Wed, 28 Feb 2018 14:53:00 +0000 (15:53 +0100)]
Collada: Moved structure definitions for export settings to the exportSettings.h Also make typedefs for import/export structures.

23 months agoWorkSpace: UI filtering for add-ons
Campbell Barton [Wed, 28 Feb 2018 14:26:02 +0000 (01:26 +1100)]
WorkSpace: UI filtering for add-ons

Allows for each workspace to have it's own add-ons on display.

Filtering for: Panels, Menus, Keymaps & Manipulators.
Automatically applies to add-ons at the moment.

Access from workspace, toggled off by default
once enabled, add-ons can be white-listed.

See D3076

23 months agoDepsgraph: Update tool settings when updating CoW scene
Sergey Sharybin [Wed, 28 Feb 2018 13:57:49 +0000 (14:57 +0100)]
Depsgraph: Update tool settings when updating CoW scene

23 months agoMerge branch 'master' into blender2.8
Sergey Sharybin [Wed, 28 Feb 2018 13:54:51 +0000 (14:54 +0100)]
Merge branch 'master' into blender2.8

23 months agoDe-duplicate tool settings copy and make tool settings freeing reusable
Sergey Sharybin [Wed, 28 Feb 2018 13:52:17 +0000 (14:52 +0100)]
De-duplicate tool settings copy and make tool settings freeing reusable

23 months agoNull pointer check exiting sculpt mode
Campbell Barton [Wed, 28 Feb 2018 12:23:48 +0000 (23:23 +1100)]
Null pointer check exiting sculpt mode

Needed for 2.8x, harmless here.

23 months agoNull pointer check exiting sculpt mode
Campbell Barton [Wed, 28 Feb 2018 12:23:48 +0000 (23:23 +1100)]
Null pointer check exiting sculpt mode

Needed for 2.8x, harmless here.

23 months agoWorkSpace: use existing objects mode on select
Campbell Barton [Wed, 28 Feb 2018 12:09:33 +0000 (23:09 +1100)]
WorkSpace: use existing objects mode on select

When selecting an object which is already visible in another window
use the mode from that workspace without performing any mode switching.

23 months agoWorkspace: sync object-modes to other workspaces
Campbell Barton [Wed, 28 Feb 2018 05:27:55 +0000 (16:27 +1100)]
Workspace: sync object-modes to other workspaces

When changing the mode of an object, apply this to all other
workspaces that share the same active object.

Also use copy the object-mode when duplicating workspaces.

23 months agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Wed, 28 Feb 2018 02:11:17 +0000 (03:11 +0100)]
Merge branch 'master' into blender2.8

23 months agoCode cleanup: fix a few harmless warnings.
Brecht Van Lommel [Wed, 28 Feb 2018 01:36:45 +0000 (02:36 +0100)]
Code cleanup: fix a few harmless warnings.

23 months agoCode cleanup: make viewport free simpler and consistent with GPU module.
Brecht Van Lommel [Wed, 28 Feb 2018 01:29:55 +0000 (02:29 +0100)]
Code cleanup: make viewport free simpler and consistent with GPU module.

23 months agoUpdate CUEW to latest version
Brecht Van Lommel [Wed, 28 Feb 2018 02:00:29 +0000 (03:00 +0100)]
Update CUEW to latest version

Some Linux distribution have only, not