blender.git
4 months agoMerge branch 'blender2.7'
Brecht Van Lommel [Wed, 6 Feb 2019 14:22:53 +0000 (15:22 +0100)]
Merge branch 'blender2.7'

4 months agoCycles: animation denoising support in the kernel.
Lukas Stockner [Wed, 6 Feb 2019 13:19:20 +0000 (14:19 +0100)]
Cycles: animation denoising support in the kernel.

This is the internal implementation, not available from the API or
interface yet. The algorithm takes into account past and future frames,
both to get more coherent animation and reduce noise.

Ref D3889.

4 months agoCycles: tweak outlier detection, preparing for animation denoising.
Lukas Stockner [Wed, 6 Feb 2019 13:42:32 +0000 (14:42 +0100)]
Cycles: tweak outlier detection, preparing for animation denoising.

Ref D3889.

4 months agoCycles: prefilter feature passes separate from denoising.
Lukas Stockner [Wed, 6 Feb 2019 11:42:10 +0000 (12:42 +0100)]
Cycles: prefilter feature passes separate from denoising.

Prefiltering of feature passes will happen during rendering, which can
then be used for denoising immediately or written as a render pass for
later (animation) denoising.

The number of denoising data passes written is reduced because of this,
leaving out the feature variance passes. The passes are now Normal,
Albedo, Depth, Shadowing, Variance and Intensity.

Ref D3889.

4 months agoDRW: Support edit-metaball clipping
Campbell Barton [Wed, 6 Feb 2019 13:07:30 +0000 (00:07 +1100)]
DRW: Support edit-metaball clipping

4 months agoDRW: Support edit-curve clipping
Campbell Barton [Wed, 6 Feb 2019 12:19:39 +0000 (23:19 +1100)]
DRW: Support edit-curve clipping

4 months agoFix T57342: Crash on render with workbench render engine via command line
Clément Foucault [Wed, 6 Feb 2019 11:10:11 +0000 (12:10 +0100)]
Fix T57342: Crash on render with workbench render engine via command line

4 months agoCleanup: Remove deprecated ghosting code
Jacques Lucke [Wed, 6 Feb 2019 11:05:34 +0000 (12:05 +0100)]
Cleanup: Remove deprecated ghosting code

Most of this code is deprecated for many years already and does not
work at all in Blender 2.8.

Reviewers: brecht, aligorith

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

4 months agoFix T60935: More numerically stable distance to ray computation
Jacques Lucke [Wed, 6 Feb 2019 10:47:46 +0000 (11:47 +0100)]
Fix T60935: More numerically stable distance to ray computation

The old function was numerically very unstable for 2 reasons:
computing the square and then subtracting the results.

In the example in T60935 all precision was lost and it returned the distance 0
for all points.

I also removed the `depth` parameter since it wasn't used and computing
it would have made the code more complicated.

Reviewers: brecht, campbellbarton

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

4 months agoUI: tweak header position button
Campbell Barton [Wed, 6 Feb 2019 10:39:06 +0000 (21:39 +1100)]
UI: tweak header position button

Be less prominent.

4 months agoFix T61136: Header alignment preference has no effect
Campbell Barton [Wed, 6 Feb 2019 10:15:39 +0000 (21:15 +1100)]
Fix T61136: Header alignment preference has no effect

Users expect this to apply to existing files,
adjust this to apply on load, defaults to off.

4 months agoClip editor: Fix drawing metadata for RGBA images
Sergey Sharybin [Wed, 6 Feb 2019 09:48:09 +0000 (10:48 +0100)]
Clip editor: Fix drawing metadata for RGBA images

Need to disable blending prior to drawing metadata. Otherwise
text will be drawn on a transparent background.

4 months agoCleanup: Spelling in comment
Sergey Sharybin [Wed, 6 Feb 2019 09:10:59 +0000 (10:10 +0100)]
Cleanup: Spelling in comment

4 months agoFix T61124: Lag on physics simulation
Sergey Sharybin [Wed, 6 Feb 2019 09:09:00 +0000 (10:09 +0100)]
Fix T61124: Lag on physics simulation

Need to synchronize simulated frame back to original object.

Solves the lag during transformation, but amount of floppyness is
lower for some reason. Final animated object behaves the same as
in older Blender though.

4 months agoFix T61051: crash with multi-object mixed mode snapping
Philipp Oeser [Thu, 31 Jan 2019 12:01:52 +0000 (13:01 +0100)]
Fix T61051: crash with multi-object mixed mode snapping

rBec3357e03ab1 introduced multi-object snapping.
Seems like this was done without mixed-mode selections in mind.

So code assumed that all selected objects are actually armatures [which
can fail].
In 2.7 this was not a problem, because code only took active object into
account, 2.8 was iterating over all selected_editable_objects.

Now just iterate over objects in posemode instead

Reviewers: brecht, dfelinto

Maniphest Tasks: T61051

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

4 months agoCleanup: remove unused toolbox delay preferences
Campbell Barton [Wed, 6 Feb 2019 07:18:54 +0000 (18:18 +1100)]
Cleanup: remove unused toolbox delay preferences

4 months agoCleanup: use '_pad' prefix for padding vars
Campbell Barton [Wed, 6 Feb 2019 07:15:58 +0000 (18:15 +1100)]
Cleanup: use '_pad' prefix for padding vars

4 months agoCleanup: manually apply changes missed last commit
Campbell Barton [Wed, 6 Feb 2019 04:52:04 +0000 (15:52 +1100)]
Cleanup: manually apply changes missed last commit

Automatic edits failed for indented comment blocks,
removed indentation & adjusted.

4 months agoCleanup: remove redundant doxygen \file argument
Campbell Barton [Wed, 6 Feb 2019 04:42:22 +0000 (15:42 +1100)]
Cleanup: remove redundant doxygen \file argument

Move \ingroup onto same line to be more compact and
make it clear the file is in the group.

4 months agoDoxygen: don't warn on undocumented params
Campbell Barton [Wed, 6 Feb 2019 04:02:07 +0000 (15:02 +1100)]
Doxygen: don't warn on undocumented params

We don't attempt to have docs for all args, so don't warn about this.

4 months agoDoxygen: update doxyfile
Campbell Barton [Wed, 6 Feb 2019 04:01:04 +0000 (15:01 +1100)]
Doxygen: update doxyfile

4 months agoCleanup: remove deprecated/unused preferences DNA
Campbell Barton [Wed, 6 Feb 2019 03:34:00 +0000 (14:34 +1100)]
Cleanup: remove deprecated/unused preferences DNA

4 months agoCleanup: use doxy headers for preference comments
Campbell Barton [Wed, 6 Feb 2019 03:23:08 +0000 (14:23 +1100)]
Cleanup: use doxy headers for preference comments

4 months agoFix T61191: First undo step missing in text editor
Campbell Barton [Wed, 6 Feb 2019 01:55:26 +0000 (12:55 +1100)]
Fix T61191: First undo step missing in text editor

4 months agoUndo System: remove accumulate/store modes
Campbell Barton [Tue, 5 Feb 2019 03:24:11 +0000 (14:24 +1100)]
Undo System: remove accumulate/store modes

This complicated handling of undo steps in a generic way
especially switching between undo systems that stored data to ones
that accumulated changes.

Now each undo system must treat it's steps as check-point,
internally it can apply/rewind changes.

This commit also fixes projection paint where the object mode wasn't
following the undo steps.

4 months agoFix T61196: Mesh select ignores clipping
Campbell Barton [Tue, 5 Feb 2019 23:33:14 +0000 (10:33 +1100)]
Fix T61196: Mesh select ignores clipping

Select clipping now works when x-ray is disabled.

4 months agoGPU: refactor clipped drawing from DRW into GPU
Campbell Barton [Tue, 5 Feb 2019 22:15:16 +0000 (09:15 +1100)]
GPU: refactor clipped drawing from DRW into GPU

Needed to fix T61196, supporting clipped back-buffer in the 3D view
which is done outside the draw module.

It was also inconvenient having DRW_shader_* versions of GPU_shader_*
API calls.

- Clipping distances are now supported as a shader configuration
  for builtin shaders.
- Add shader config argument when accessing builtin shaders.
- Move GPU_shader_create_from_arrays() from DRW to GPU.

4 months agoCleanup: style
Campbell Barton [Tue, 5 Feb 2019 22:14:11 +0000 (09:14 +1100)]
Cleanup: style

4 months agoOutliner visibility unification: Implement 3 levels of viewport visibility
Dalai Felinto [Fri, 30 Nov 2018 04:24:06 +0000 (02:24 -0200)]
Outliner visibility unification: Implement 3 levels of viewport visibility

Now collection and objects can be either:
* Disabled for all the view layers.
* Hidden for a view layer but not necessarily for all others.
* Visible for a view layer but not necessarily for all others.

Regarding icons: Whatever we decide to use for the "Hidden for all view
layers" needs to be a toggle-like icon. Because when viewing "Scenes"
instead of "View Layer" in the outliner we should be able to edit the
collection "Hidden for all the view layers" as an on/off option.

The operators are accessible via a Visibility context menu or shortcuts:
* Ctrl + Click: Isolate collection (use shift to extend).
* Alt + Click: Disable collection.
* Shift + Click: Hide/Show collection and its children (objects and collections)

Things yet to be tackled:
* Object outliner context menu can also get a Visibility sub-menu.
* Get better icons for viewport enable/disable.

Note:
* When using emulate 3 button mouse alt+click is used for 2d panning.
  In this case users have to use the operator from the menu.

See T57857 for discussion.

Patch: https://developer.blender.org/D4011
Reviewers: brecht and sergey

Thanks to the reviewers and William Reynish and Julien Kasper in
particular for the feedback.

4 months agoOutliner: eyes for collection affect collection visibility
Dalai Felinto [Thu, 29 Nov 2018 21:43:52 +0000 (19:43 -0200)]
Outliner: eyes for collection affect collection visibility

As oppose to affect the collection objects' visibility.

4 months agoOutliner: Gray out collections only when they are invisible
Dalai Felinto [Thu, 29 Nov 2018 20:56:10 +0000 (18:56 -0200)]
Outliner: Gray out collections only when they are invisible

Re-factor of 4521d3e7074d.

4 months agoFix/workaround issues in pose and edit mode
Sergey Sharybin [Wed, 28 Nov 2018 09:36:07 +0000 (10:36 +0100)]
Fix/workaround issues in pose and edit mode

[re-committing]

Edit mode was unable to select, pose mode was unable to move bones.

4 months agoPer view-layer collection visibility
Dalai Felinto [Wed, 28 Nov 2018 02:49:36 +0000 (00:49 -0200)]
Per view-layer collection visibility

[re-committing]

We still control this in the viewport collections visibility menu. But
now we are actually changing the visibility of the collections, not of
the objects.

If a collection is indirectly invisible (because one of its parents are
invisible) we gray it out.

Also if you click directly in the collection names, it "isolates" the
collection by hiding all collections, and showing the direct parents and
all the children of the selected collection.

Development Note:

Right now I'm excluding the hidden collections from the depsgraph.
Thus the need for tagging relations to update.

If this proves to be too slow, we can change.

4 months agoFix T61204: Can't select Camera in stereoscopy mode
Dalai Felinto [Tue, 5 Feb 2019 20:37:42 +0000 (18:37 -0200)]
Fix T61204: Can't select Camera in stereoscopy mode

This was deliberately disabled since I didn't get the drawing working
originally. It is fully working now.

Note: camera lens widget still needs to be fixed since it still draws it
wrongly.

4 months agoUI: make drag lock work also when buttons have > 2 states or use callbacks.
Brecht Van Lommel [Tue, 5 Feb 2019 19:03:55 +0000 (20:03 +0100)]
UI: make drag lock work also when buttons have > 2 states or use callbacks.

This will help with upcoming outliner visibility icons with 3 states.

It is done by using the icon to identify the state. If that is not unique
there is no visible difference to users anyway.

4 months agoFix new EEVEE bloom / motion blur defaults not being applied to startup.blend.
Brecht Van Lommel [Tue, 5 Feb 2019 13:01:45 +0000 (14:01 +0100)]
Fix new EEVEE bloom / motion blur defaults not being applied to startup.blend.

4 months agoFix strict compiler warning, breaking MSVC
Sergey Sharybin [Tue, 5 Feb 2019 16:02:01 +0000 (17:02 +0100)]
Fix strict compiler warning, breaking MSVC

4 months agoClip editor: Fixes for prefetch
Sergey Sharybin [Tue, 5 Feb 2019 15:50:57 +0000 (16:50 +0100)]
Clip editor: Fixes for prefetch

Seems metadata was never read while prefetching, at least was
never requested to be read.

Also fixed prefetch for multilayer EXR.

4 months agoBKE_mesh_new_from_object(): do not generate temp obj/cu in Main.
Bastien Montagne [Tue, 5 Feb 2019 15:36:14 +0000 (16:36 +0100)]
BKE_mesh_new_from_object(): do not generate temp obj/cu in Main.

When generating a mesh from a curve object, do not generate temp objects
and curves in main, but rather as 'localized' copies.

This is cleaner, and might add a marginal speed-up in some cases (like
rendering thousands of curve objects), since we save some processing.
Note that this is the function behind py API's `Object.to_mesh()` too.

4 months agoMovieclip: Improve support of multilayer EXR files
Sergey Sharybin [Tue, 5 Feb 2019 15:23:53 +0000 (16:23 +0100)]
Movieclip: Improve support of multilayer EXR files

Use first combined pass if possible. Is not ideal but better than
showing completely empty image.

Also, covers quite a lot of usecases when movie clip editor is
used to review animation render of single-layer renders but with
multiple passes.

4 months agoEdit Mode: Increase depth Bias for vertices
Clément Foucault [Tue, 5 Feb 2019 15:12:50 +0000 (16:12 +0100)]
Edit Mode: Increase depth Bias for vertices

4 months agoEdit Mode: Fix loose edges edit mode normal display broken
Clément Foucault [Tue, 5 Feb 2019 13:58:47 +0000 (14:58 +0100)]
Edit Mode: Fix loose edges edit mode normal display broken

4 months agoEdit Mode: Fix Xray edit mode broken due to recent refactor
Clément Foucault [Tue, 5 Feb 2019 13:47:05 +0000 (14:47 +0100)]
Edit Mode: Fix Xray edit mode broken due to recent refactor

4 months agoEdit Mesh: Add workaround for system that does not support wide lines
Clément Foucault [Mon, 4 Feb 2019 21:28:39 +0000 (22:28 +0100)]
Edit Mesh: Add workaround for system that does not support wide lines

This adds a new geometry shader (specific to edit mesh for now) that
reproduces the effect of glLineWidth > 1.0, since this is not supported on
all platform.

This fix could be generalized to other shaders later.

4 months agoEdit Mesh: Fix some problem with new implementation
Clément Foucault [Mon, 4 Feb 2019 19:06:30 +0000 (20:06 +0100)]
Edit Mesh: Fix some problem with new implementation

- Add manual depth offset to vertices and edges.
- Revert to plain edge decoration.
- Fix active edge coloring.
- Remove active face display if not in face selection mode.
- Add wide line support.

4 months agoEdit Mesh: Remove old unused code and files
Clément Foucault [Mon, 4 Feb 2019 00:35:21 +0000 (01:35 +0100)]
Edit Mesh: Remove old unused code and files

Cleanup after recent refactor.

4 months agoEdit Mesh: Refactor Edit cage drawing to use old style drawing
Clément Foucault [Mon, 4 Feb 2019 00:13:51 +0000 (01:13 +0100)]
Edit Mesh: Refactor Edit cage drawing to use old style drawing

This is work in progress. Look is not final.

This align data VBO data structure used for edti cage drawing to the one
use for normal drawing.

We no longer use barycentric coords to draw the lines an just rasterize
line primitives for edge drawing. This is a bit slower than using the
previous fast method but faster than the "correct" (edge artifact free)
method. This also make the code way simpler.

This also makes it possible to reuse possible and normal vbos used for
shading if the edit cage matches the

This also touches the UV batch code to share as much render data as
possible. The code also prepare for edit cage "modified" drawing cage (with
modifier applied) but is not enabled since selection and operators does not
work with modified cage yet.

4 months agoUVEdit: Add function variants based on ToolSettings
Clément Foucault [Mon, 4 Feb 2019 00:12:05 +0000 (01:12 +0100)]
UVEdit: Add function variants based on ToolSettings

This is better than passing a scene pointer when we don't have one.

4 months agoSupport showing metadata for multilayer EXR files
Sergey Sharybin [Tue, 5 Feb 2019 13:23:50 +0000 (14:23 +0100)]
Support showing metadata for multilayer EXR files

Quite straightforward: first, convert metadata from file to
stamp data which is stored in the render result, and then
for every requested layer/pass use that as a metadata.

4 months agoUI: Add collection move & link to menu
William Reynish [Tue, 5 Feb 2019 11:36:09 +0000 (22:36 +1100)]
UI: Add collection move & link to menu

4 months agoCleanup: Add precision to comment.
Bastien Montagne [Tue, 5 Feb 2019 08:48:15 +0000 (09:48 +0100)]
Cleanup: Add precision to comment.

4 months agoFix (unreported) linestyle/greasepencil actions not being duplicated by full scene...
Bastien Montagne [Mon, 4 Feb 2019 19:43:06 +0000 (20:43 +0100)]
Fix (unreported) linestyle/greasepencil actions not being duplicated by full scene copy.

Noted those as missing in XXX comments some time ago, running again on
that code I still see no reason for this missing feature, so now when
doing a full scene copy, including duplication of Freestyl's linestyles
and scene's greasepencil data, their potential Actions will also be
properly duplicated (like it was already the case for world, and scene
itself).

4 months agoCleanup: typo in comment.
Bastien Montagne [Mon, 4 Feb 2019 19:39:59 +0000 (20:39 +0100)]
Cleanup: typo in comment.

4 months agoCleanup: replace BKE_id_copy_ex by BKE_id_copy where possible.
Bastien Montagne [Mon, 4 Feb 2019 19:38:01 +0000 (20:38 +0100)]
Cleanup: replace BKE_id_copy_ex by BKE_id_copy where possible.

That way it is obvious when we are using default ID copy behaviour, and
when we are using advanced/specialized ones.

4 months agoCleanup: use LIB_ID_COPY_LOCALIZE in BKE_libblock_copy_for_localize().
Bastien Montagne [Mon, 4 Feb 2019 19:09:26 +0000 (20:09 +0100)]
Cleanup: use LIB_ID_COPY_LOCALIZE in BKE_libblock_copy_for_localize().

This is a slightly more risky commit, as it is very difficult to fathom
all that may happen when localazing IDs. Would not expect any issue
though.

Note that a big TODO remain to refactor fully that ID localization
process (for 'shading IDs'), it's still doing pretty much same thing as
regular out-of-main copies, but the infamous ntree topic makes it
delicate to handle...

4 months agoCleanup: sanitize BKE_libblock_copy_for_localize() copy flags.
Bastien Montagne [Mon, 4 Feb 2019 17:23:50 +0000 (18:23 +0100)]
Cleanup: sanitize BKE_libblock_copy_for_localize() copy flags.

Asking to not copy animdata, but copy actions, is pure nonsense (and
make LIB_ID_COPY_ACTIONS flag totally useless/no-op).

4 months agoCleanup: Remove old deprecated BKE_libblock_copy_nolib() from BKE_library.
Bastien Montagne [Mon, 4 Feb 2019 17:20:53 +0000 (18:20 +0100)]
Cleanup: Remove old deprecated BKE_libblock_copy_nolib() from BKE_library.

Was not used anymore, time to get rid of it.

4 months agoBKE_library: id_copy: More general usage of LIB_ID_COPY_LOCALIZE.
Bastien Montagne [Mon, 4 Feb 2019 16:51:15 +0000 (17:51 +0100)]
BKE_library: id_copy: More general usage of LIB_ID_COPY_LOCALIZE.

Turns out most of our 'local working copy' cases can use same set of
flags.

Note that this commit adds LIB_ID_COPY_CACHES to all our local meshes
copying, however this is no-op since that flag is unused during mesh
copying... We may want to add another set of flags without that one at
some point, but for now it would not be useful imho.

4 months agoBKE_library: add 'no preview' flag to LIB_ID_COPY_LOCALIZE.
Bastien Montagne [Mon, 4 Feb 2019 16:37:19 +0000 (17:37 +0100)]
BKE_library: add 'no preview' flag to LIB_ID_COPY_LOCALIZE.

No local work copy is expected to need preview data, at least it should
not. Part of copy flags cleanup, done in separate commit in case
something goes wrong here...

4 months agoCleanup: initial regrouping of ID create/copy flags.
Bastien Montagne [Mon, 4 Feb 2019 16:27:01 +0000 (17:27 +0100)]
Cleanup: initial regrouping of ID create/copy flags.

Those two first sets of flags should represent some common use cases.
The goal here is to reduce verbosity of calls to BKE_id_copy_ex, and
help make it more obvious the 'common behaviours' of ID copying across
codebase.

4 months agoCleanup: comments before items in enums.
Bastien Montagne [Mon, 4 Feb 2019 15:29:02 +0000 (16:29 +0100)]
Cleanup: comments before items in enums.

4 months agoCleanup: BKE_library: rename id_copy to BKE_id_copy.
Bastien Montagne [Mon, 4 Feb 2019 15:22:28 +0000 (16:22 +0100)]
Cleanup: BKE_library: rename id_copy to BKE_id_copy.

Time to follow conventions for that one as well.

4 months agoCleanup: BKE_library: remove 'test' param of id_copy.
Bastien Montagne [Mon, 4 Feb 2019 14:34:31 +0000 (15:34 +0100)]
Cleanup: BKE_library: remove 'test' param of id_copy.

This was used in *one* place only... much better to have a dedicated
helper for that kind of things. ;)

4 months agoFix T61107: wmGizmo.test_select can't return -1
Campbell Barton [Tue, 5 Feb 2019 07:38:31 +0000 (18:38 +1100)]
Fix T61107: wmGizmo.test_select can't return -1

This is used to skip selection.

4 months agoFix: Ensure that KeyingSet.bl_description field is properly escaped when using the...
Joshua Leung [Tue, 5 Feb 2019 03:21:35 +0000 (16:21 +1300)]
Fix: Ensure that KeyingSet.bl_description field is properly escaped when using the Export to File operator

Previously, if double-quotes appeared in the KeyingSet.bl_description field,
these would cause a syntax error in the resulting .py script export of the
KeyingSet. Since single quotes are even more likely to appear
(e.g. as apostrophes), we now use triple quotes here.

Unreported bug, noticed earlier when investigating T61010.

4 months agoFix T58221: Spin tool w/ merge first/last crashes
Campbell Barton [Tue, 5 Feb 2019 02:25:55 +0000 (13:25 +1100)]
Fix T58221: Spin tool w/ merge first/last crashes

Spinning geometry that included non boundary/wire edges
crashed when merge first/last enabled.

4 months agoFix empty object front/back display in perspective views
Campbell Barton [Mon, 4 Feb 2019 23:39:43 +0000 (10:39 +1100)]
Fix empty object front/back display in perspective views

4 months agoFix T61163: Single sided images show when viewed from side
Campbell Barton [Mon, 4 Feb 2019 23:29:19 +0000 (10:29 +1100)]
Fix T61163: Single sided images show when viewed from side

4 months agoCleanup: remove contributors for Python files
Campbell Barton [Mon, 4 Feb 2019 22:15:18 +0000 (09:15 +1100)]
Cleanup: remove contributors for Python files

Following removal from C source code.

See: 8c68ed6df16d8893

4 months agoCleanup: remove contributors for CMake files
Campbell Barton [Mon, 4 Feb 2019 22:10:32 +0000 (09:10 +1100)]
Cleanup: remove contributors for CMake files

Following removal from C source code.

See: 8c68ed6df16d8893

4 months agoT61148: Particle properties can not be edited after keyframing
Sergey Sharybin [Mon, 4 Feb 2019 13:06:49 +0000 (14:06 +0100)]
T61148: Particle properties can not be edited after keyframing

Was happening with certain settings for hair. Need to make a copy
of particle settings before modifying them via animation system.

4 months agoPyAPI: use _PyObject_LookupAttr
Campbell Barton [Mon, 4 Feb 2019 12:35:23 +0000 (23:35 +1100)]
PyAPI: use _PyObject_LookupAttr

Unlike PyObject_GetAttr, this avoids setting the attribute error
only to clear it - under some conditions.

4 months agoCleanup: use sys.platform instead of platform module
Campbell Barton [Mon, 4 Feb 2019 12:07:06 +0000 (23:07 +1100)]
Cleanup: use sys.platform instead of platform module

This was indirectly importing other modules we don't use at startup.
`sys.platform` is sufficient.

4 months agoPython: bump minimum version to 3.7
Campbell Barton [Mon, 4 Feb 2019 10:58:34 +0000 (21:58 +1100)]
Python: bump minimum version to 3.7

All platforms use 3.7 now, supporting both increases chance some scripts
will fail on older versions.

4 months agoFix T61172: Crash in texture paint undo/redo
Campbell Barton [Mon, 4 Feb 2019 08:50:46 +0000 (19:50 +1100)]
Fix T61172: Crash in texture paint undo/redo

Mixing texture paint undo w/ memfile undo was crashing.

The gputextures and render result are written to the FileData.imamap
but weren't read back.

4 months agoUndo System: add function to print undo steps
Campbell Barton [Mon, 4 Feb 2019 04:01:55 +0000 (15:01 +1100)]
Undo System: add function to print undo steps

Useful for debugging.

4 months agoFix adding a paint texture slot not refreshing
Campbell Barton [Mon, 4 Feb 2019 03:40:11 +0000 (14:40 +1100)]
Fix adding a paint texture slot not refreshing

Adding a new slot wasn't refreshing when the
object had no material.

4 months agoUI: Use 'None' label instead of 'No' for Physics Type
Pablo Vazquez [Mon, 4 Feb 2019 00:45:53 +0000 (01:45 +0100)]
UI: Use 'None' label instead of 'No' for Physics Type

Matches other enums in particle settings and pretty much all over Blender.

4 months agoCleanup: Typos in comments (to to)
Pablo Vazquez [Mon, 4 Feb 2019 00:23:48 +0000 (01:23 +0100)]
Cleanup: Typos in comments (to to)

4 months agoUI: clarify ruler tooltip text
Campbell Barton [Sun, 3 Feb 2019 23:32:17 +0000 (10:32 +1100)]
UI: clarify ruler tooltip text

See T61151

4 months agoGP: Fix compiler error
Antonioya [Sun, 3 Feb 2019 18:56:57 +0000 (19:56 +0100)]
GP: Fix compiler error

4 months agoT61140 Shortcut Eraser and Eraser are not the same
Antonioya [Sun, 3 Feb 2019 12:27:25 +0000 (13:27 +0100)]
T61140 Shortcut Eraser and Eraser are not the same

Set default eraser with the last eraser used, and remove the toggle button from UI panel.

4 months agoFix typos
Joshua Leung [Thu, 31 Jan 2019 04:31:51 +0000 (17:31 +1300)]
Fix typos

4 months agoFix T60753: Graph Editor showing cache curves regardless of filters
Joshua Leung [Thu, 31 Jan 2019 02:42:59 +0000 (15:42 +1300)]
Fix T60753: Graph Editor showing cache curves regardless of filters

This commit adds a datablock filtering option for cache files channels,
so that a shot with lots of these in addition to standard animation
(e.g. the Spring production files) don't become bogged down by these.

Furthermore, these channels also respect the "Only Selected" toggle too now.

4 months agoCleanup: trailing commas
Campbell Barton [Sun, 3 Feb 2019 03:01:45 +0000 (14:01 +1100)]
Cleanup: trailing commas

Needed for clan-format not to wrap onto one line.

4 months agoWM: Event simulation support for Python
Campbell Barton [Sat, 2 Feb 2019 04:14:51 +0000 (15:14 +1100)]
WM: Event simulation support for Python

This feature is intended only for testing,
to automate simulating user input.

- Enabled by '--enable-event-simulate'.
- Disables handling all real input events.
- Access by calling `Window.event_simulate(..)`
- Disabling `bpy.app.use_event_simulate`
  to allow handling real events (can only disable).

Currently only mouse & keyboard events work well,
NDOF, IME... etc could be added as needed.

See D4286 for example usage.

4 months agoBKE_global: clear deprecated flags on load (all of them)
Campbell Barton [Sat, 2 Feb 2019 03:45:42 +0000 (14:45 +1100)]
BKE_global: clear deprecated flags on load (all of them)

4 months agoCleanup: match logic for merging G.f & G.fileflags on load
Campbell Barton [Sat, 2 Feb 2019 03:01:48 +0000 (14:01 +1100)]
Cleanup: match logic for merging G.f & G.fileflags on load

4 months agoCleanup: use G_FLAG_*/G_FILE_* for G.f/fileflags
Campbell Barton [Sat, 2 Feb 2019 02:39:51 +0000 (13:39 +1100)]
Cleanup: use G_FLAG_*/G_FILE_* for G.f/fileflags

Was confusing eg: G_AUTOPACK belonged to G.fileflags, G_PICKSEL to G.f.

4 months agoCleanup: use enum for BKE globals
Campbell Barton [Sat, 2 Feb 2019 02:29:52 +0000 (13:29 +1100)]
Cleanup: use enum for BKE globals

4 months agoCleanup: remove author/date info from doxy headers
Campbell Barton [Sat, 2 Feb 2019 00:53:07 +0000 (11:53 +1100)]
Cleanup: remove author/date info from doxy headers

4 months agoMerge branch 'blender2.7'
Campbell Barton [Fri, 1 Feb 2019 22:37:50 +0000 (09:37 +1100)]
Merge branch 'blender2.7'

4 months agoColor management: change view transform for color pickers and display modes.
Brecht Van Lommel [Fri, 1 Feb 2019 19:30:10 +0000 (20:30 +0100)]
Color management: change view transform for color pickers and display modes.

* Use simple default view transform for color pickers, as Filmic does not work
  well for all types of colors. We better handle this with an option and tagging
  of colors as emissive or albedo like.
* For solid/workbench we also no longer use Filmic, as there is not enough contrast
  and it's not really needed since this is not physically based lighting.
* For lookdev always take into account the view transform and look. Other view
  settings like exposure are only taken into account if scene lighting is used,
  since these are often dependent on scene light intensity.

Fixes T61022, T57649, T59363.

4 months agoFix T61010: Keying Set - Description edit box disabled, for internal use only.
Bastien Montagne [Fri, 1 Feb 2019 19:33:42 +0000 (20:33 +0100)]
Fix T61010: Keying Set - Description edit box disabled, for internal use only.

Wrong property flag for that one, KeyingSet is a regular RNA class, not
a registrable 'interface' one, unlike KeyingSetInfo...

4 months agoFix T61078: Cycles crash with adaptive smoke sim playback.
Brecht Van Lommel [Fri, 1 Feb 2019 18:05:00 +0000 (19:05 +0100)]
Fix T61078: Cycles crash with adaptive smoke sim playback.

3D image dimensions should be updated on the Cycles side before loading
the smoke data.

4 months agoFix T58206: Eevee light energy soft maximum is too low.
Brecht Van Lommel [Fri, 1 Feb 2019 17:03:29 +0000 (18:03 +0100)]
Fix T58206: Eevee light energy soft maximum is too low.

4 months agoCleanup: Remove manually missing original author
Antonioya [Fri, 1 Feb 2019 16:20:05 +0000 (17:20 +0100)]
Cleanup: Remove manually missing original author

Name was part of the header GPL text.

4 months agoGP: Cleanup retiming to do in same loop
Antonioya [Fri, 1 Feb 2019 16:14:28 +0000 (17:14 +0100)]
GP: Cleanup retiming to do in same loop

4 months agoFix T61071: GP Cutter / Boxes bug
Antonioya [Fri, 1 Feb 2019 15:50:27 +0000 (16:50 +0100)]
Fix T61071: GP Cutter / Boxes bug

Now when remove points from a cyclic stroke, the last island is joined with first island in order to fill the gap of the cyclic.

This change affects not only to cutter, but to any delete process in cyclic strokes.

4 months agoCleanup: manually remove header text not handled by automation
Campbell Barton [Fri, 1 Feb 2019 14:45:34 +0000 (01:45 +1100)]
Cleanup: manually remove header text not handled by automation