Commit Graph

27351 Commits

Author SHA1 Message Date
Brecht Van Lommel
e00a00db52 Cleanup: rename some sculpt variables for clarity 2019-10-07 17:38:07 +02:00
Sergey Sharybin
78c0be9987 Fix T70452: Crash when clicking "Solve Camera Motion" in Motion Tracking 2019-10-07 15:41:52 +02:00
Pablo Dobarro
525a8bdf1d Sculpt/Paint: Invert curve alpha overlay
Reviewed By: billreynish

Differential Revision: https://developer.blender.org/D5998
2019-10-07 15:26:05 +02:00
Pablo Dobarro
afb9bdc320 Sculpt: Update only modified grids on multires undo
This makes multires undo much faster and fixes the viewport lag after and undo operation.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D5994
2019-10-07 15:24:25 +02:00
Pablo Dobarro
29707e3437 Fix T70387: Sculpting with Original Normal rips edges
Reviewed By: brecht

Maniphest Tasks: T70387

Differential Revision: https://developer.blender.org/D5982
2019-10-07 15:22:32 +02:00
Campbell Barton
60f0a94ab2 Cleanup: clang-format 2019-10-07 15:22:22 +11:00
Dalai Felinto
5287eaac5b Small cleanup 2019-10-04 14:11:13 -03:00
Brecht Van Lommel
f35bfbb25e Sculpt: mesh filter, mask filter and dirty mask now work with multires
Thanks to Sergey's neighbor access functions.

Mesh filter still needs some improvements to handle open boundaries better.
2019-10-04 19:01:03 +02:00
Sergey Sharybin
8f1f756b83 Subdiv CCG: add utility functions for accessing multires vertex neighbors
This is to be used by the new sculpting tools.
2019-10-04 19:00:57 +02:00
Bastien Montagne
bebdb6c824 Fix assert when deleting a RBW constraint object.
Side-reported in T70505.

Code did not ensure deleted object was removed from the RBW constraints
collection, leading to some invalid status (object in constraints
collection but without relevant contraints data).

Also fixed another issue - code deleting RBW objects would try to remove
any constraint one using it as target, in a very bad and broken way,
since you cannot iterate over objects of a collection while removing
some... Now instead just NULLify relevant pointers... I hope it works,
otherwise we'll have to take a different approach.

Needless to stress again how weak the whole RBW code is in general, and
regarding same object being used by RBW in more than one scene in particular,
that is known broken situation anyway.
2019-10-04 18:57:14 +02:00
Campbell Barton
fc517cb079 Cleanup: formatting for text highlighter 2019-10-05 02:43:03 +10:00
Julian Eisel
809ab298f1 UI: Move all Selected Markers when Dragging
Part of T57918. Selecting and dragging items were conflicting actions
previously when both were using the same mouse button. This avoids the
conflict.

See 056fcdfe7bbed3 for details on behavior.
2019-10-04 16:46:32 +02:00
Julian Eisel
d4d036ae14 UI: Move all Selected Dopesheet Keys when Dragging
Part of T57918. Selecting and dragging items were conflicting actions
previously when both were using the same mouse button. This avoids the
conflict.

See 056fcdfe7bbed3 for details on behavior.
2019-10-04 16:46:32 +02:00
Julian Eisel
1f5ae1a5a5 UI: Move all Selected Strips and Strip Handles when Dragging
Part of T57918. Selecting and dragging items were previously conflicting
actions when both were using the same mouse button. This avoids the
conflict.

See 056fcdfe7bbed3 for details on behavior.
2019-10-04 16:46:32 +02:00
Julian Eisel
5f51e78172 Node Editor: Use new operator utilities for node selection and dragging
Previous commit moved most of this code into more general/generic
utility functions, so we can use that in the Node Editor now.
2019-10-04 16:46:32 +02:00
Sebastian Parborg
0bcada85b3 Fix T67212: No smooth blending in "Push Pose from Breakdown" and "Relax Pose to Breakdown"
The previous method produced non smooth interpolation results and it was
very hard to control. (At least for me it seemed to be broken until I
actually took a look at what the code actually did)

Now we simply linearly interpolate between the breakdown position and
the current bone data.

Reviewed By: Sybren, Hjalti

Differential Revision: http://developer.blender.org/D5892
2019-10-04 16:40:09 +02:00
Jeroen Bakker
56dd7feb06 GPU: Platform Support Level
Adds a check when starting blender if your platform is supported. We use a blacklist
as drivers are updated more regular then blender (stable releases).

The mechanism detects if the support level changed or has been validated by the user previously.
Changes can happen due to users updating their drivers, but also when we change the support
level in our code base.

When the user has seen the limited support level message it is saved in the user config.
It would be better to have a system specific config section, but currently not clear
what could benefit from that.

When the platform is unsupported or has limited support a dialog box will appear including a link
to our user manual describing what to do.

**Windows**
Windows uses the MessageBox that is provided by the windows kernel.

**X11**
We use a very lowlevel messagebox for X11. It is very limited in use and can be fine tuned when needed.

**SDL/APPLE**
There is no implementation for SDL or APPLE at this moment as the platform support feature targets mostly Windows users.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D5955
2019-10-04 16:23:39 +02:00
Philipp Oeser
295f888433 Fix T70504: Moving nodes in the node editor stops after hotkey is lifted
This basically reverts 540eb2dc1e for an alternative solution that
only enforforces release_confirm [ignoring the preference] on mouse for
the node editor.

Approved by @brecht in T70504.
2019-10-04 15:55:08 +02:00
Philipp Oeser
40492251f2 Fix T70454: Environment Texture Node Properties "reload" and "packing" not working
The bug was basically just caused by a missing 'edit_image' and
'edit_image_user' pointer in context for
'node_shader_buts_tex_environment_ex'.
So adding the following there would be enough to fix the bug:
uiLayoutSetContextPointer(layout, "edit_image", &imaptr);
uiLayoutSetContextPointer(layout, "edit_image_user", &iuserptr);

However, I would suggest using the full-flegged uiTemplateImage (just as
'node_shader_buts_tex_image_ex' does -- instead of a "handmade" subset)
for the following consistency reasons:
- Layout was using single column for image textures, but not environment
textures
- Save / Discard feature on editing the image was there for image
textures, but not environment textures
- Environment textures: Color Space was displayed on node (but not
properties)
- Environment textures: Animation / Sequence settings were displayed on
node (but not properties)

Cant think of a reason for _not_ displaying the whole set for
environment textures (just as for regular image textures)?

Maniphest Tasks: T70454

Differential Revision: https://developer.blender.org/D5988
2019-10-04 15:31:54 +02:00
Pablo Dobarro
d590db8370 Sculpt: Clay Strips brush tweaks
- Fix accumulate by allowing normal radius greater than one. Now it works as it should and it should be enabled by default
- Make the square test sharper. This gives a lot more definition to the brush, even when working with fewer polygons

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D5984
2019-10-04 15:28:00 +02:00
Sebastian Parborg
f025b625f4 Fix T70095: Quadriflow crash running on a messy mesh
Quadriflow does not support non manifold meshes. (Edges with > 3
connected faces and discontinuous face normal directions)

While it does sometimes "work" in these configurations, the results are
not good and in most cases it just flat out will crash.

Added a sanity check to make sure that the input mesh is manifold.

Reviewed By: Brecht

Differential Revision: http://developer.blender.org/D5877
2019-10-04 14:25:34 +02:00
Campbell Barton
fbc096cf07 Fix expanding paths ignoring data-block libraries
- Image views.
- Sequencer text strip font.
- Text check for modified/reload.
- Collada image export.
- Brush icons.
2019-10-04 07:03:53 +10:00
Julian Eisel
edffb0e9b1 UI: Register File Browser as Child/Dialog-Window for the OS
For many users, this will make the File Browser window behave more like
what they would expect. It addresses the issue of the File Browser
becoming hidden behind the main window by clicking anywhere in the
latter. It communicates the interruptive, but temporary nature of the
operation a bit better.
Further, on tiling window managers the File Browser now opens as
floating by default, like in other applications.

Note that this also makes sure the File Browser is always opened as
separate window, so it doesn't re-use the Preferences, or any other
temporary window anymore. This seems to have been a common annoyance.

More concretely, this makes the File Browser window behave as follows:
* Stays on top of its parent Blender window, but not on top of
  non-Blender windows.
* Minimizes with its parent window
* Can be moved independently
* Doesn't add an own item in task bars
* Doesn't block other Blender windows (we may want to have this though)
* Opens as floating window for tiling window managers (e.g. i3wm/Sway)

Further notes:
* When opening a file browser from the Preference window (or any
  temporary window), the main window, as the file browsers parent is
  moved on top of the Preferences, which makes it seem like the
  Preferences were closed. This is the general issue of bad secondary
  window handling as window activation changes. I made it so that the
  window is moved back once the file browser is closed.
  This behavior is confusing and would be nice to avoid. It's a separate
  issue though.
* On most window managers on Linux the temporary window can not be
  minimized and maximized, they disable that for dialog windows.
* On Windows and macOS, only minimizing is disabled, as there is no
  decent way yet to restore a window if it's not shown in the taskbar.

Reviewed By: Brecht van Lommel, Campbell Barton, William Reynish
Edits and macOS implementation by Brecht.

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

Part of T69652.
2019-10-03 17:50:27 +02:00
Campbell Barton
35ae1da16c Mesh: simple extract mask optimizations
- Avoid per-vertex custom-data lookup
- Break once a face has a mask vertex.
2019-10-04 01:14:25 +10:00
Campbell Barton
1e273dbc3c Fix extract mask freed memory use & leak 2019-10-04 01:14:25 +10:00
Pablo Dobarro
67f9b94291 Fix sculpt normal update in SculptDraw brush
Reviewed By: brecht

Differential Revision: https://developer.blender.org/D5981
2019-10-03 16:57:27 +02:00
Pablo Dobarro
3bbe01dad3 Fix T70299: Grab brush not working as expected when Ctrl is press
Reviewed By: brecht

Maniphest Tasks: T70299

Differential Revision: https://developer.blender.org/D5920
2019-10-03 15:34:54 +02:00
Pablo Dobarro
ae7bea265d Fix T66312: Undo does not restore normals correctly in sculpt mode
Reviewed By: brecht

Maniphest Tasks: T66312

Differential Revision: https://developer.blender.org/D5895
2019-10-03 15:31:24 +02:00
Pablo Dobarro
6db6267d85 Sculpt: Disable remesh operators with Multires
Reviewed By: brecht

Differential Revision: https://developer.blender.org/D5964
2019-10-03 15:28:35 +02:00
Pablo Dobarro
d6c440bd7a Fix T69227: Ignore inbetween mouse events in Snake Hook
Reviewed By: brecht

Maniphest Tasks: T69227

Differential Revision: https://developer.blender.org/D5977
2019-10-03 15:26:50 +02:00
Pablo Dobarro
8a1f4fc8a7 Fix T70102: Mask Extract bad solution
Reviewed By: brecht

Maniphest Tasks: T70102

Differential Revision: https://developer.blender.org/D5978
2019-10-03 15:25:19 +02:00
Anthony Eriksson
4ccf02764c Fix T69216: "assert" not highlighted in text editor
Workaround limitations of formatting code by putting longest names first.

Differential Revision: https://developer.blender.org/D5613
2019-10-03 03:11:55 +02:00
Brecht Van Lommel
540eb2dc1e Fix T69288: release confirms preference should not affect node editor
Was missing from new macro operators.
2019-10-03 03:11:55 +02:00
Campbell Barton
93e8c962fc Cleanup: unused structs, struct members 2019-10-03 07:39:45 +10:00
Campbell Barton
c07eaa3384 Cleanup: argument naming, redundant NULL checks 2019-10-03 07:32:28 +10:00
Campbell Barton
fcdd851858 Fix memory leak in loop-cut error case 2019-10-03 07:32:28 +10:00
Campbell Barton
b87123cf2f Fix F-Key icon display 2019-10-03 07:32:28 +10:00
Alexander Gavrilov
aabd8701e9 Implement a user preference for the default Auto Handle Smoothing mode.
The default was changed with an initial implementation of the feature.

With the feedback from animators, having a behavior which affects curves
outside of a changing range is not convenient for professional animators
working on high quality character animation. On the other hand, automatic
smoothing is better for casual animation of object motion.

This change adds an ability to change the default via User Preferences.

Differential Revision: https://developer.blender.org/D5875
2019-10-02 20:42:37 +03:00
Brecht Van Lommel
d1a1302b01 UI: add NLA track and channel theme color
Patch contributed by Paul (Thirio).

Differential Revision: https://developer.blender.org/D5967
2019-10-02 18:56:34 +02:00
Brecht Van Lommel
03506ee4d1 UI: use consistent text box theme colors in search popups
This solves an issues where these text fields would use menu background colors,
making it difficult to create a correct theme.

Default theme looks the same, only Blender Light now shows a dark text field.

Patch contributed by Paul (Thirio).

Differential Revision: https://developer.blender.org/D5906
2019-10-02 18:56:32 +02:00
Pablo Dobarro
a1f16ba67f Use PBVH_FullyMasked flag in mesh filter
We don't need to filter the fully masked nodes here after adding the flag

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D5973
2019-10-02 16:58:53 +02:00
Clément Foucault
3734ae5d54 Fix T70331 Node group passthrough is broken 2019-10-02 16:56:22 +02:00
Clément Foucault
f8f28dc784 Workaround for NVidia broken driver
This disable the indirect drawcall on all Nvidia hardware.

This has to be until nvidia fixes their drivers or instruct us
how to correctly fix the issue.

Related to T70011 Various display issues on NVIDIA
after draw call batching.
2019-10-02 16:56:22 +02:00
Sybren A. Stüvel
2e97d50d2d Fix T70409: Propagate Pose not updating correctly
The Action was changed without tagging it as such in the depsgraph.
Thanks @sergey for the sanity check!
2019-10-02 16:08:56 +02:00
Pablo Dobarro
3052229264 Fix T70358: Use face count in Quadriflow by default
Reviewed By: brecht

Maniphest Tasks: T70358

Differential Revision: https://developer.blender.org/D5958
2019-10-02 16:04:48 +02:00
Pablo Dobarro
29f25da769 Fix T70324: Layer Brush has bad behaviours and create artifacts
Reviewed By: brecht

Maniphest Tasks: T70324

Differential Revision: https://developer.blender.org/D5934
2019-10-02 15:58:35 +02:00
Pablo Dobarro
ed59c32b0c Fix bug in nearest_vertex_get_finalize
Reviewed By: brecht

Differential Revision: https://developer.blender.org/D5965
2019-10-02 15:55:11 +02:00
Philipp Oeser
31473070b3 Fix T70443: Crash on sculpting with 'Curve' Stroke Method
Caused by rBc31a849a1474.

Reviewed By: brecht

Maniphest Tasks: T70443

Differential Revision: https://developer.blender.org/D5970
2019-10-02 14:59:11 +02:00
Brecht Van Lommel
01c824ac88 Revert "UI: use correct singular and plural nouns in report messages"
Convention is to use (s) postfix for cases where there can be one or multiple,
so stay consistent with that.

This reverts commit 3e8276311e.
2019-10-02 12:54:56 +02:00
Brecht Van Lommel
3b23685c7d Cleanup: simplify node modal select implementation
Ref T63994
2019-10-01 21:51:21 +02:00