Commit Graph

73456 Commits

Author SHA1 Message Date
Pablo Dobarro
316107d4cd Sculpt: New Clay Brush
The previous Clay brush was similar to flatten. Now it has a different plane calculation and falloff, based on the position of the vertices before deforming them, so it feels more like adding clay to the model.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D6228
2019-11-21 18:04:46 +01:00
Pablo Dobarro
c7ade50dee Clay Strips: Input pressure curve and new defaults
By squaring the pen pressure and disabling BRUSH_SPACE_ATTEN the brush
feels like it has a bigger strength range, wich makes it easier to
control when applying less pressure in order to smooth sculpted
surfaces.

Each brush should have a custom input pressure curve by default to get
an optimal behaviour and make all brushes consistent, but that is going
to take some time to get it right.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D6214
2019-11-21 18:02:33 +01:00
Pablo Dobarro
15f82278d5 Sculpt/Paint: Dash Ratio and Dash Samples
Dash Ratio and Dash Samples are brush properties to modify the strength of the brush during a stroke. This is useful to create dashed lines in texture paint or stitches in sculpt mode.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D5949
2019-11-21 17:55:36 +01:00
Campbell Barton
2ec9aa3b71 Cleanup: spelling
One of the corrections from last cleanup was wrong.
2019-11-21 23:30:51 +11:00
Philipp Oeser
cee9478985 Fix T68499: weight paint gradient is broken with generative modifiers
Caused by rBac442da4a14d.

Above commit tweaked the logic to not only early out, but also set the
WPGradient_vertStore screen coord to FLT_MAX in case this original index
was visited before [gradientVertInit__mapFunc].
For generative modifiers though, we might get here multiple times for the
same orig index, resulting in a valid orig index being made invalid for
gradientVertUpdate__mapFunc [which would early out in case of FLT_MAX].

Restored original logic, so that setting FLT_MAX only really happens
when it should: when ED_view3d_project_float_object fails...

Maniphest Tasks: T68499

Differential Revision: https://developer.blender.org/D6282
2019-11-21 13:20:04 +01:00
Campbell Barton
1fbb86654a Cleanup: spelling 2019-11-21 23:15:11 +11:00
Campbell Barton
7c18fcbe03 Cleanup: clang-format
Also remove unused vars.
2019-11-21 23:15:02 +11:00
Philipp Oeser
355905cb02 Fix T67873: View Selected in Graph Editor (Only Selected Curve
Keyframes) takes hidden keys into account when calculating zoom

Note that with the 'View Only Selected Curve Keyframes' option enabled,
it is also possible to select [box/circle/lasso] hidden/non-visible
keyframes. Think this should never happen, but that is for a later
commit (along some deduplication of animdata filtering code)

Reviewed By: Severin, Sybren

Maniphest Tasks: T67873

Differential Revision: https://developer.blender.org/D6237
2019-11-21 13:08:33 +01:00
Campbell Barton
c637290a6e Cleanup: remove unused value2d gizmo 2019-11-21 23:00:04 +11:00
Campbell Barton
f4a4ec8425 Tool System: make smooth & randomize modal operators
Previously these used a gizmo to redo the operator however this
complicated having on-screen gizmos to access tools (see T66304).

Replace this with a generic way to make an operator that only has an
execute function into a modal operator.

This is used for smooth and randomize tools.

Unlike operator gestures, this handles storing and resetting the data.

Currently this only handles edit-mode data, however it's can be
extended to other kinds of data.
2019-11-21 22:45:15 +11:00
Campbell Barton
20620afc33 Object: edit-mode data support for object vertex coordinate access
Allows to access/transform/restore edit-mode
coordinates in a generic way.
2019-11-21 22:45:15 +11:00
Sebastian Parborg
d98d4fce93 Fix T62631: Cloth vertex mass capped to a very low number on scaled scenes.
Removed the weight limit and made the setting more clear in what it actually does.
IE, it controlls the weight of the vertices of the cloth mesh

Reviewed By: Brecht

Differential Revision: http://developer.blender.org/D5450
2019-11-21 12:31:40 +01:00
Philipp Oeser
f1518d0f28 Fix T71412: Add transform component to deforming modifier
Dynamically bound mesh deform modifiers failed to update the viewport on
object transformation of deformer. The TODO by Sergey, which suggested
adding the transform component to the depsgraph, was already there, and
worked to fix T71412.
2019-11-21 12:24:07 +01:00
Sebastian Parborg
8bc57e5b91 Add curve decimate in the graph editor
Added a animation curve decimate operator in the graph editor

Reviewed By: Sybren

Differential Revision: http://developer.blender.org/D4841
2019-11-21 11:58:35 +01:00
Hans Goudey
ba1e9ae473 Bevel: Custom Profile and CurveProfile Widget
Custom profiles in bevel allows the profile curve to be controlled by
manually placed control points. Orientation is regularized along
groups of edges, and the 'pipe case' is updated. This commit includes
many updates to comments and changed variable names as well.

A 'cutoff' vertex mesh method is added to bevel in addition to the
existing grid fill option for replacing vertices.

The UI of the bevel modifier and tool are updated and unified.

Also, a 'CurveProfile' widget is added to BKE for defining the profile
in the interface, which may be useful in other situations.

Many thanks to Howard, my mentor for this GSoC project.

Reviewers: howardt, campbellbarton

Differential Revision: https://developer.blender.org/D5516
2019-11-20 16:25:28 -05:00
Harley Acheson
8c6ce74239 UI: Text Editor Visual Changes
Various small changes to Text Editor, mostly to do with scaling, alignment, and theme support.

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

Reviewed by Campbell Barton
2019-11-20 12:59:19 -08:00
Sybren A. Stüvel
66bec8c25d Alembic: clean up exporter metadata code
The Alembic file metadata object was created in one place, a bit of
metadata was added, then it was passed along with other properties which
were then injected as metadata in another function. This is now cleaned up.

No functional changes.
2019-11-20 10:26:59 +01:00
Campbell Barton
2defd81b5e Cleanup: comments 2019-11-20 18:12:50 +11:00
Campbell Barton
43eb34ec81 Fix T71680: _PyObject_LookupAttr memory leak 2019-11-20 17:53:22 +11:00
Campbell Barton
858bd1d4d0 Fix assert running remesh with OpenVDB disabled 2019-11-20 14:54:50 +11:00
Dalai Felinto
3b16578fb4 Outliner: Fixup for previous commit on tooltip/crash fix
The issue was actually in Python extras (where it shows the ENUM option).

I got a bit distracted by the "(undocumented operator)" message.
It made me miss the missing ENUM once the crash was gone.
2019-11-20 00:42:30 -03:00
Dalai Felinto
bc66810064 Outliner: Fix crash for tooltips on ID operations
This was introduced on 9ca2cbdcea.
2019-11-20 00:29:28 -03:00
Dalai Felinto
9ca2cbdcea Outliner: Don't show id operations (make single user) when not supported
For the make single user operation to work we expect a parent of the
datablock to be around. However this is often not the case when not
accessing the data from Scenes or Viewlayer display modes.

For now we simply not show them in the other cases. They can be added
later though, by testing the outliner tree parent compatibility with the
expected parent id.

Fix T71673
Differential Revision: https://developer.blender.org/D6276
2019-11-19 14:28:59 -03:00
Sergey Sharybin
83e8765562 Subdiv: Tweak threading settings
Ensure that all threads on a multi-core system are used.

The issue was that BLI_task module was trying to be smart and
used heuristic to find optimal number of iterations per thread.
This heuristic assumes that tasks are light-weight, which is
not a case for subdivision surface.

On a higher subdivision level with a file from T70826 the
evaluation time goes down from 0.25 to 0.17 seconds per modifier
evaluation.

When D6189 is finalized we can being some extra performance
improvement.
2019-11-19 16:58:58 +01:00
Ray Molenkamp
6fea251e01 Use mutex for lock in image.c
Usage of spinlock during heavy IO gave reduced performance
see D6267 for details.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D6267
2019-11-19 07:37:16 -07:00
Dalai Felinto
12915aad65 Fix T69798: Pinning empty image objects
We have no dedicated image context tab, so for now making sure we don't
end up passing its ID as the pinned one.

If we ever get one, we then will need a different solution here, like
changing the ID that owns the data to be the object, instead of the
empty image datablock.

Differential Revision: https://developer.blender.org/D6273
2019-11-19 10:26:31 -03:00
Philipp Oeser
08588d06e8 Fix T71554: 'Hide Unselected' not working for certain selections
rBc6cbcf83d015 caused to early out e.g when not all faces were selected
(but surrounding faces were, so implicitly all vertices were selected).
Now take (mixed also) selection mode into account.

Maniphest Tasks: T71554

Differential Revision: https://developer.blender.org/D6254
2019-11-19 09:51:06 +01:00
Alexander Gavrilov
04272613a7 Python API: assume that a crashed Python operator returned FINISHED.
The CANCELLED return value from an operator is intended for
signaling that the operator aborted execution without changing
anything, and an Undo stack entry should not be created.

When a Python operator crashes, it is not safe to assume that
it did nothing, so it should interpret it as FINISHED instead.
Otherwise, the undo system behavior after an operator failure
feels broken.

Differential Revision: https://developer.blender.org/D6241
2019-11-18 22:03:40 +03:00
Alessio Monti di Sopra
64c27b9690 WM: remove view operators from the undo stack 2019-11-19 00:56:07 +11:00
Campbell Barton
71d65e881f Merge branch 'blender-v2.81-release' 2019-11-18 23:58:02 +11:00
Campbell Barton
115a5bf65a Correct error in last commit 2019-11-18 23:53:34 +11:00
Campbell Barton
995b98aee2 Merge branch 'blender-v2.81-release' 2019-11-18 23:36:16 +11:00
Campbell Barton
1cb07530a9 Fix T71564: Undo stroke lags after entering sculpt mode
Regression since 2.80, see: T71434
2019-11-18 23:35:25 +11:00
Campbell Barton
d124545013 Fix wrong name for QuadriFlow undo step 2019-11-18 22:43:30 +11:00
Sergey Sharybin
8d4460b6c4 GHOST: Only spam about X11 errors when using --debug-ghost
This commit adds a new command line argument --debug-ghost and
makes it so X11 errors happening during context initialization
are only printed when this new flag is sued.

There is no need to flood users with errors when their GPU is
not supporting latest OpenGL version. Or, at a very minimum,
the error must be more meaning full.

Differential Revision: https://developer.blender.org/D6057
2019-11-18 09:28:17 +01:00
Campbell Barton
dc8be23234 Merge branch 'blender-v2.81-release' 2019-11-18 16:39:16 +11:00
Campbell Barton
dfc232f892 Merge branch 'blender-v2.81-release' 2019-11-18 16:39:01 +11:00
Campbell Barton
99640d0622 Fix building on NetBSD 2019-11-18 16:27:06 +11:00
Campbell Barton
321afe0cd6 Fix building on 32bit systems 2019-11-18 16:25:59 +11:00
Ray Molenkamp
6d9d24e3d4 msvc: Use debug versions of tbb malloc for debug builds
Using the release versions gave unpredictable results when
the msvc debugger was attached for some developers.
2019-11-17 14:26:29 -07:00
Philipp Oeser
e5b788bad8 Fix T68191: Make-instances-real doesn't select the new instances
2.79 also did this [select the new instances] which was useful.
2.79 also kept the instancer selected [this patch deselects]

Reviewed By: mont29

Maniphest Tasks: T68191

Differential Revision: https://developer.blender.org/D6233
2019-11-15 21:45:52 +01:00
Campbell Barton
17cb32c7bc Merge branch 'blender-v2.81-release' 2019-11-16 03:34:19 +11:00
Campbell Barton
eba4a4bd73 Fix active bone flip not activating the wpaint vertex group 2019-11-16 03:32:23 +11:00
Campbell Barton
554321c6fb Merge branch 'blender-v2.81-release' 2019-11-16 02:49:45 +11:00
Campbell Barton
b266b1034f Cleanup: quiet warnings 2019-11-16 02:49:15 +11:00
Campbell Barton
4cf24c10e2 Merge branch 'blender-v2.81-release' 2019-11-16 02:42:07 +11:00
Campbell Barton
f64064e4b1 Docs: correct indent for to_swing_twist docstring 2019-11-16 02:39:51 +11:00
Dalai Felinto
ef71668ac5 Merge remote-tracking branch 'origin/blender-v2.81-release' 2019-11-15 12:10:55 -03:00
Dalai Felinto
49db3f6bf1 Fix: Filebrowser saving dialog size when maximized
Reviewed By: Severin

Differential Revision: https://developer.blender.org/D6260
2019-11-15 12:10:16 -03:00
Sybren A. Stüvel
f8354d492d Fix crash when freeing Blender after GTests
This only frees brush_rng and random_tex_array when they were actually
previously allocated.

In a unit test (see D6246) I want to be able to partially start Blender
so that I can load a blend file. To prevent memory leaks, I also want to
be able to release memory, which currently requires calling
`BKE_blender_free()`. This unconditionally calls `RE_texture_rng_exit()`
and `BKE_brush_system_exit()`, which now crash on freeing `NULL`. This
patch fixes that.

Allocation (`BKE_brush_system_init()`) and freeing
(`BKE_brush_system_exit()`) are done asymmetrically. The allocation
functions are called from `main()` in the creator module, but the
freeing is done by `BKE_blender_free()` the Window Manager. Ideally we
symmetrise this and initialise Blender from outside the window manager
(so that the initialisation can be done without WM and Python too), but
for now I'm happy when things don't crash.

Reviewed by: sergey via pair programming
2019-11-15 15:13:18 +01:00