Commit Graph

77667 Commits

Author SHA1 Message Date
f9d138be51 Cleanup: compiler warning 2020-06-22 13:06:47 +02:00
8ffb006077 Add undo step to Alembic and Collada importers...
Re T77754.
2020-06-22 13:06:16 +02:00
c309177edd Fix initialization of Edge Slide with Single Side
It was not being initialized.
Error introduced in cf42721fe2
2020-06-22 07:54:36 -03:00
ba97da21ac Transform: Simplify and rearrange mirror code
No real functional changes.
2020-06-22 07:54:36 -03:00
d6e07a7cd3 Transform: Do not compute island center when not used
No functional changes from the user's point of view.
2020-06-22 07:54:36 -03:00
5db1ae2605 Cleanup: Remove goto in transform_convert_mesh code 2020-06-22 07:54:36 -03:00
2d866d77ae Cleanup: Rearrange transform_convert_mesh into doxy sections 2020-06-22 07:54:36 -03:00
3752c44b44 GPencil: Remove Fill selection with Tweak tool and fix bug
* Fixed selection of point in multiframe mode. The point was not selected.

* Removed the fill area selection because makes the tool imprecise, and for this tool need to be precise or the selection is impossible. Now only select if it's over the point, not over the filled area.
2020-06-22 10:48:49 +02:00
26e5718e29 Fix T77942: Add Cube scales immediately upon creation after changing Size attribute on prior Add Cube command
Always use the default size here, since desired bounds have been set
interactively, it does not make sense to use a different size from a
previous command.

Maniphest Tasks: T77942

Differential Revision: https://developer.blender.org/D8056
2020-06-22 09:48:30 +02:00
Harley Acheson
19c7b5f45a Fix error using 'char32_t' as 'wchar_t' on windows
FONT_OT_text_insert failed on Windows.

This change was missing from D6198.
2020-06-22 17:13:36 +10:00
f8c8a5c092 Fix T77607: Edit-mode shading regression 2.90
Regression in deaff945d0
2020-06-22 16:44:33 +10:00
9215b5d869 UI: report when reloading unsaved text
Address confusion from T78114.
2020-06-22 16:02:42 +10:00
56d0df51a3 Python: support building again version 3.9 (unreleased)
Resolves T78089, no functional changes.
2020-06-22 14:55:36 +10:00
0de14fbe78 UI: Fix view reset when toggling subpanel expansion
The view should only reset for the ctrl-click mode that collapses
all other panels.
2020-06-21 10:47:37 -04:00
3fc5826f7c GPencil: Fix unreported missing material onion filter
This feature was removed by error during the refactor done in draw engine.

Differential Revision: https://developer.blender.org/D8082
2020-06-21 15:51:50 +02:00
91117cad0f GPencil: Change effect tooltips for new Shader operators
Instead to use ShaderFx, use Effect and also fixed some wrong cases using Modifier word.
2020-06-21 10:24:08 +02:00
a7f1c68938 Cleanup: Outliner walk select naming
No functional changes. Don't use walk_element now that the walk element
flag is removed.
2020-06-20 16:15:42 -06:00
8ce1a60262 Fix T71812: Outliner walk navigation not activating
Walk navigation used a separate flag to select the element. This is
because activation and mode toggling were connected until rB702e00f91088
cleaned up the selection logic.

Now walk navigation can activate objects and other elements without
changing modes. This also addresses renaming in the outliner which
did renaming from the active element, not the walk element.
2020-06-20 16:15:18 -06:00
2d9ab46e0b Fix T77328: Crash on undo Draw Face Sets stroke with dyntopo active
Draw Face Sets does not work in Dyntopo and the sculpt API should be
responsible for that without needing to add checks all over the code,
but it was doing an undo push of type SCULPT_UNDO_FACE_SETS which is not
supported, causing the crash.

Reviewed By: sergey

Maniphest Tasks: T77328

Differential Revision: https://developer.blender.org/D7924
2020-06-20 21:48:11 +02:00
Philipp Oeser
d994391e0c Fix T77994: VSE crash adding a glow effect strip
Since rB47f98a38d0f8 not all 3 effect inputs were assigned anymore. Their
ImBuf's rect was accessed though in do_glow_effect (even though unused in
the following dedicated functions).

Just pass NULL here instead.

Reviewed By: ISS

Differential Revision: https://developer.blender.org/D8064
2020-06-20 06:49:02 +02:00
73ffb3e067 Cleanup: use const args for property name/description access 2020-06-20 13:50:12 +10:00
d7152244f8 Fix T54112: curve.splines.new() ignores Curve.resolution_u/v 2020-06-20 13:17:40 +10:00
466e716495 Bevel: add new 'Absolute' mode for interpreting 'amount' value.
This mode is like Percent, but measures absolute distance along
adjacent edges instead of a percentage.
So, for example, if you use this mode with 2 segments and profile=1,
you will see the length that the bevel moves along unbeveled edges
between beveled ones will match the value specified.
Many users seem to expect this behavior, even though it means the
bevel width is uneven, so this option is for them.
2020-06-19 17:56:01 -04:00
ab72cd2fc1 Cleanup: Spelling 2020-06-19 16:11:15 -04:00
bb4cef71ee UI: ShaderFx Drag and Drop, Layout Updates
This patch implements the list panel system D7490 for grease pencil
shader effects. It also moves their drawing to a callback in
ShaderFxTypeInfo in line with the extensible architecture refactoring
goal T75724.

The implementation is basically exactly the same as for the modifier
patch (9b099c8612).

Thanks to Matias Mendiola (@mendio) for helping to develop the layout
changes.

Differential Revision: https://developer.blender.org/D7985
2020-06-19 15:07:13 -04:00
702e00f910 Outliner: Selection cleanup
No functional changes. The outliner selection operators shared many
different functions for selection, activation, mode toggling, and other
actions, but the code paths were not always clear, making any changes
difficult.

This cleans up the code and uses outliner_item_select() as the base
function for selection, activation, mode toggling between the different
selection operators. It also prepares for future features and fixes.

Reviewed By: Severin

Differential Revision: https://developer.blender.org/D5817
2020-06-19 12:43:01 -06:00
ec963d9d7d UI: Grease Pencil Modifier Drag and Drop, Layout Changes
This patch implements the list panel system D7490 for grease pencil
modifiers. It also moves their drawing to a callback in
GpencilModifierTypeInfo in line with the extensible architecture
refactoring goal T75724.

This also adds the "set_error" function for grease pencil modifiers,
which hadn't been copied from mesh modifiers yet.

The implementation is basically exactly the same as for the modifier
patch (9b099c8612).

Thanks to Matias Mendiola (mendio) for providing mockups for many
of the layout changes.

Differential Revision: https://developer.blender.org/D7978
2020-06-19 14:42:08 -04:00
fb7d8e2f4b UI: Fix check for constraint panel default expansion 2020-06-19 14:19:41 -04:00
0ded6f5525 Fix: Crash when closing window while Outliner shows screens
Steps to reproduce were:
* From factory settings, change Outliner Display Mode to "Blender File"
* Open "Screens" item, make sure all listed screens are visible
* Open Preference window, close it
* Mouse hover the outliner -> crash

Fix is to force an Outliner tree rebuild when closing screens.
2020-06-19 20:14:04 +02:00
254f164b27 UI: Minor optimization to Outliner lookup for hovered element
The lookup to find the hovered Outliner tree element would possibly check
children that can be skipped with a simple check.

I experimented with various ways to avoid work in this lookup. This one is
simple and reliable, which others wouldn't have been afaics. Plus, there's not
much performance to be gained here anyway.
2020-06-19 20:06:37 +02:00
15083d9e1e UI: Avoid rebuilding Outliner tree when opening/collapsing items
In big files, the Outliner would have a noticeable lag when opening or
collapsing items. That was because the entire tree was rebuilt, which isn't
actually needed in most cases. So we avoid it where possible now.
2020-06-19 20:06:37 +02:00
f4c0ea1d29 UI: Don't rebuild Outliner tree to remove highlight when leaving area
When leaving the Outliner's area, the highlight would be removed and cause a
full rebuild of the tree. This caused a noticable lag in bigger files.
2020-06-19 20:06:37 +02:00
e15f85f23d UI: Avoid rebuilding outliner tree when changing area size
In big files, ie typical production files, resizing the outliner area would be
very slow. The outliner tree would be rebuilt then, which can easily be avoided.
2020-06-19 20:06:37 +02:00
ce7a5a2376 Fix T78042: GPencil: Strokes go missing after Interpolation from another layer
This was due some strokes could be tagged and as the layer was locked, the strokes were not untagged and removed when all tagged strokes are removed.

The tagged strokes are used as temp ghost of the interpolation and removed at the end of the interpolation.
2020-06-19 19:39:30 +02:00
a24cd69d78 Cleanup: Remove unused BKE_constraint functions 2020-06-19 13:21:39 -04:00
eaa44afe70 UI: Drag and Drop Constraints, Layout Updates
This patch implements the list panel system D7490 for constraints.
In this case the panels are still defined in Python.

The layouts are also updated to use subpanels and the a more organized
single column layout. There may be more tweaks necessary for the
layouts.

Reviewed By: Severin, billreynish, Mets

Differential Revision: https://developer.blender.org/D7499
2020-06-19 12:40:48 -04:00
27fb75fec2 Fix T77476: Transform Align mode using View orientation by default 2020-06-19 12:56:53 -03:00
71363dd79c Cleanup: Alembic, replace ABC_INLINE with BLI_INLINE
The `ABC_INLINE` macro has been in the Alembic code since it was introduced
to Blender in rB61050f75b13e. It basically does the same a `BLI_INLINE`,
though, so there is no need to keep it around.
2020-06-19 17:08:21 +02:00
f84414d6e1 EEEVEE: Object Motion Blur: Initial Implementation
This adds object motion blur vectors for EEVEE as well as better noise
reduction for it.

For TAA reprojection we just compute the motion vector on the fly based on
camera motion and depth buffer. This makes possible to store another motion
vector only for the blurring which is not useful for TAA history fetching.

Motion Data is saved per object & per geometry if using deformation blur.
We support deformation motion blur by saving previous VBO and modifying the
actual GPUBatch for the geometry to include theses VBOs.

We store Previous and Next frame motion in the same motion vector buffer
(RG for prev and BA for next). This makes non linear motion blur (like
rotating objects) less prone to outward/inward blur.

We also improve the motion blur post process to expand outside the objects
border. We use a tile base approach and the max size of the blur is set via
a new render setting.

We use a background reconstruction method that needs another setting
(Background Separation).

Sampling is done using a fixed 8 dithered samples per direction. The final
render samples will clear the noise like other stochastic effects.

One caveat is that hair particles are not yet supported. Support will
come in another patch.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D7297
2020-06-19 17:05:49 +02:00
e18d6f5206 LibOverride: Cleanup: remove unused parameter. 2020-06-19 17:01:20 +02:00
f6b23c63e1 LibOverride: Parallelize diffing of Main database.
This will not give any noticeable improvements in common editing tasks,
since then usually only a very few IDs are changed and checked for
override updates.

However, it makes full override diffing process several times faster
(happens usually when saving a .blend file, but could also help e.g.
when multi-editing several override objects at the same time...).
2020-06-19 17:01:20 +02:00
9905f5725c LibOverride: rempve ID preview from comparison (diffing) process.
Accessing this from RNA may actually create some data, which we do not
want to happen when comparing data. Further more, preview is not data,
but a view of it, so we should be safe ignoring it entirely here.
2020-06-19 17:01:20 +02:00
df25d3c2a3 LibOverride: add some more debug timing prints... 2020-06-19 17:01:20 +02:00
b50d01cbac Cleanup: Alembic, removed some unnecessary extern "C" {} declarations
No functional changes.
2020-06-19 16:43:27 +02:00
3ceb9faf1a Cleanup: IO, made some functions in AbstractHierarchyIterator protected
These functions are not needed in the public interface, only by the
`AbstractHierarchyIterator` class and its subclasses.

No functional changes.
2020-06-19 16:43:27 +02:00
Stefano Bonicatti
59b523c3c9 Fix build with USD, Clang and Linux
The important distinction for the linker flags is not between GCC and Clang,
but between the macOS and Linux.

Differential Revision: https://developer.blender.org/D8023
2020-06-19 15:42:33 +02:00
697b1736ef Cleanup: Alembic, replace #ifndef guards with #pragma once
No functional changes.
2020-06-19 15:30:18 +02:00
1a448c66ed Cleanup: Alembic, move the C++ code to blender::io::alembic namespace
This commit only moves code into the `blender::io::alembic` namespace,
it does not move `static` functions into an anonymous namespace.

No functional changes.
2020-06-19 15:30:18 +02:00
89b7f785e6 Cleanup: Alembic, moved exporter code into separate directory
This moves most of the exporter-related code
from `source/blender/io/alembic/intern`
to   `source/blender/io/alembic/exporter`

This is to prepare the Alembic code for the switchover to using
`blender::io::AbstractHierarchyIterator`. When that happens, a few more
files will be added, and having things in a separate 'exporter'
directory makes things less cluttered.

Note that exporting consists of multiple steps (determine export
hierarchy, create Alembic archive, and then write data into it), which
is why the directory is called "exporter", but many of the files are
called "writer".

No functional changes.
2020-06-19 15:30:18 +02:00
16d09a5864 Fix T67358: Compositor Disabled Node Config -> SegFault
The issue was caused by wrong conversion happening after some of the
proxies are removed. Easiest solution is to first remove proxies and
then add required converter operations.

Thanks Jeroen for the review!
2020-06-19 14:49:36 +02:00