Commit Graph

86619 Commits

Author SHA1 Message Date
Campbell Barton
6815efc3ff Keymap: warn when running poll on empty keymaps 2019-04-13 19:26:01 +02:00
Alexander Gavrilov
3d8790faf1 Fix T62048: crash when turning off curve path animation with Spline IK.
Both fix missing depsgraph flag, and gracefully give up on missing data.
2019-04-13 17:36:57 +03:00
Alexander Gavrilov
51c8a6f491 Fix T37500: implement Bendy bone segment deformation interpolation.
Previously B-Bone deformation mapped every vertex to just one
B-Bone segment. This results in abrupt transformation differences
between the sides of each threshold plane, reducing the quality
of B-Bone deformation and making the use of shape keys impractical.

This commit replaces this approach with a linear blend between
the two closest segment transformations, effectively representing
the B-Bone as two weight-blended plain bones for each vertex.

In order to distribute the interpolation more evenly along the
bone, segment matrices for deformation are now computed at points
between the segments and at the ends of the B-Bone. The computation
also uses the true tangents of the Bezier curve for the orientation.
The nodes at the end of the bone require some special handling to
deal with zero-length Bezier handles caused by a zero ease value.

The Copy Transforms constraint now also smoothly interpolates
rotation and scaling along the bone shape when enabled.

The initial version of the patch was submitted by @Sam200.

Differential Revision: https://developer.blender.org/D4635
2019-04-13 16:27:42 +03:00
Campbell Barton
f7e35d61f8 Cleanup: add View3D_Runtime struct
Also remove 'matcap_icon'
2019-04-13 15:24:28 +02:00
Brecht Van Lommel
70cbd0a6bd readme: separate development links
Add development links and place under own heading.
2019-04-13 14:45:51 +02:00
Antonioya
f110daa2c9 Fix T63563: Grease pencil not visible when contained in a collection instanced in a foreign scene.
The check of DUPLI object was used, but as the original object was not in the scene, the VBO data was not available and the draw was empty.

Now, the function checks if the original data is in the scene, and set the object as not Dupli to generate the VBO data.
2019-04-13 13:03:37 +02:00
Campbell Barton
65b0312904 3D View: move gizmo draw options out of overlays
Gizmo's now have their own popover in preparation
for making transform gizmos accessible without having to use tools

See: T63518
2019-04-13 12:45:02 +02:00
Campbell Barton
cd60843aef Cleanup: add trailing commas to wrapped args 2019-04-13 12:45:02 +02:00
William Reynish
f98b6ace5d UI: remove popover button text in viewport header
Makes room in the header for other buttons to be added.
2019-04-13 12:19:56 +02:00
Antonioya
789d242fa7 GPencil: Implement Opacity transform
Add Shift+F to transform points opacity in Edit mode
2019-04-13 11:19:03 +02:00
Campbell Barton
a43b373c42 readme: initial minimal readme
Useful to link official resources when the repository is accessed via
3rd party hosting.
2019-04-13 10:53:56 +02:00
Antonioya
28fc919464 GPencil: Remove script console warning when object is None 2019-04-13 09:47:43 +02:00
Campbell Barton
73c7aaba22 Cleanup: style, use braces for the window manager 2019-04-13 09:15:15 +02:00
Sybren A. Stüvel
45b810e1f8 Fix T61935 Crash when importing Alembic from Meshroom
The Alembic importer can now deal with XForm-less objects. Apparently
MeshLab exports point clouds without parent transformation matrix (XForm in
Alembic-speak). We shouldn't warn about this, but handle it properly
instead.
2019-04-12 14:52:09 +02:00
Bastien Montagne
2396d7faa5 Build system: disable Draco when not installing python.
Draco py binding needs to be installed somewhere, when not installing
Python itself it's breaking the installation (since it creates a fake
empty py install, which will crash when trying to start Blender).

We could fix that in some smarter way maybe, but for now it's simpler to
just not care about Draco when we are not installing Python.
2019-04-12 14:29:17 +02:00
Philipp Oeser
f3fc8271b8 Fix T63504: Python Template 'ui_previews_dynamic_enum' error
thx @nacioss for the fix
2019-04-12 14:10:10 +02:00
Campbell Barton
a96d42b2e8 Rename Label instead of Name in Node editor using F2 key
Previously reverted change without RNA changes.
2019-04-12 13:50:33 +02:00
Campbell Barton
f3c313e779 Revert "Rename Label instead of Name in Node editor using F2 key"
This reverts commit 98b06c20a0.

RNA properties should give predictable results,
the desired behavior can be added only in operator logic.
2019-04-12 12:58:31 +02:00
Campbell Barton
684e76181e Cleanup: add back semicolons to DefNode
Causes extra-semicolon warning,
we'll need to disable clang-format for this file since it
won't format properly.

Reverts b389bb5ef8
2019-04-12 20:41:14 +10:00
William Reynish
59f87eb198 UI: Re-order Properties tabs to follow the data hierarchy
- Group tabs together based on the data-flow
- Puts Physics and Particles next to Modifiers, with which they interrelate

See D4612

Reviewers: pablovazquez
2019-04-12 12:04:59 +02:00
Antonioya
0ee23d0f5f Fix T63452: View Port/render artifacts while camera movement in
Patch provided by @matc
2019-04-12 09:09:37 +02:00
Sebastian Parborg
d1cda823e0 Fix T63341: Xray mode makes some shading popover options grayed out despite them working
Do not gray out shading items if the xray alpha value is 1.
They are rendered correctly in viewport so there is no reason to mark
them as disabled in the shading menu.
2019-04-11 19:43:06 +02:00
Sebastian Parborg
adaa7688ee Fix T63467: Edge/vertex selection isnt working properly with X-ray set to 1
Edit mode shows the mesh elements in X-ray mode even if alpha is set to
1. Now the code takes this into account so that you can still select
visible mesh elements in X-ray edit mode.

view3d_draw_legacy need to be updated with the new XRAY flag macros to
avoid crashes. Additional cleanup of the XRAY macro flags were done.
2019-04-11 18:28:20 +02:00
Bastien Montagne
6b06440ed8 Fix 'static override' message showing in ID template tooltip.
We only want to show that when library overrides are enabled.
2019-04-11 17:47:38 +02:00
Bastien Montagne
a0a08c643e Fix (unreported) potential infinite loop over collections' parents pointers.
It is crucial to properly tag as loopback that kind of pointers,
otherwise some users of libquery's foreach_ID might end up in infinite
loops.
2019-04-11 17:47:38 +02:00
Campbell Barton
986329b4c4 Cleanup: comments 2019-04-12 01:01:50 +10:00
Campbell Barton
8091e39d22 Cleanup: remove unused code
This variable was never used.
2019-04-12 01:01:50 +10:00
Campbell Barton
6478f90cc2 curve_fit_nd: fix assert caused by too small epsilon
Curve decimate would assert in some cases.
2019-04-12 01:01:49 +10:00
Sybren A. Stüvel
8e774b3ae4 Alembic export: free depsgraph after use 2019-04-11 16:22:55 +02:00
Sybren A. Stüvel
0576f4ca9b Fix T62664: Exporting Metaballs as Alembic crashes Blender
The `AbcMetaballWriter` now subclasses `AbcGenericMeshWriter` instead of
wrapping an `AbcMeshWriter`. `AbcGenericMeshWriter` was created for this
purpose (writing non-mesh objects as mesh to Alembic) and performs the work
in a cleaner and, more importantly, not crashing way.
2019-04-11 16:22:55 +02:00
Sybren A. Stüvel
7509d0bbf1 Alembic export: always consider metaballs animated
The metaball 'mesh' is animated whenever any of its components are animated.
However, it's not easily possible to visit all its components (AFAIK it
requires a full scan of all objects in the scene and comparing names), so
due to the blobby nature of the metaballs I now simply assume they'll be
animated.

This fixes an issue where a metaball was considered static when the base
ball was static. For example, MBall static but MBall.001 animated would
be considered 'not animated'.
2019-04-11 16:22:55 +02:00
Ray Molenkamp
73e06ef256 Fix: Build issue with draco on mac.
somehow missed mac in my last commit
2019-04-11 07:47:33 -06:00
Ray Molenkamp
f01c71e1d9 Fix: Build issue with draco.
DRACO_LIB_NAME was undefined, better use the proper cmake variable for it.
2019-04-11 07:20:14 -06:00
Ray Molenkamp
9cdc3483ca Fix: Build error with msvc2019. 2019-04-11 06:56:40 -06:00
Antonioya
98b06c20a0 Rename Label instead of Name in Node editor using F2 key
See D4631 for more details

Reviewers: @brecht @billreynish
2019-04-11 14:47:35 +02:00
Campbell Barton
6fed1525a1 3D View: Show the camera frame when Extra's is off 2019-04-11 14:01:18 +02:00
Harley Acheson
c642474704 Fix T63451: selected objects not highlighted in outliner scene view.
Differential Revision: https://developer.blender.org/D4668
2019-04-11 12:58:27 +02:00
Benjamin Schmithüsen
4bad4bfc6a glTF: add Draco shared library for mesh compression.
Draco is added as a library under extern/ and builds a shared library that is
installed into the Python site-packages. This is then loaded by the glTF add-on
to do mesh compression.

Differential Revision: https://developer.blender.org/D4501
2019-04-11 12:04:53 +02:00
Brecht Van Lommel
a9d6356fee Cleanup: suppress some warnings in external libraries. 2019-04-11 12:04:53 +02:00
Philipp Oeser
87f07af737 Fix T63464: Multi UV Maps limited to three with eevee
this was very similar to T60684 (and the UV case was actually reported
back then as well), so the fix goes hand in hand with rBbd8039399575

Reviewers: fclem

Maniphest Tasks: T63464

Differential Revision: https://developer.blender.org/D4672
2019-04-11 10:30:33 +02:00
Antonioya
a3b88c9172 Annotations: Make all 2D editors locked to View
Before, there was a hacky code for Image editor when the image was empty.

Now, all 2D editors are locked to view and when you Move or Zoom, the stroke moves.

This is a fix of T63402.

Still pending if we add more options to 2D editors, but at least now,  we have something consistent.
2019-04-10 17:33:01 +02:00
William Reynish
b9e6f9b9c5 Industry Compat Keymap: Add Sculpt Mode keys 2019-04-10 16:10:07 +02:00
William Reynish
b932635bfd Industry Compatible Keymap: initial keymap
This is the initial implementation.

It's fully functional for object and edit mode,
but requires more work in Sculpt and Paint modes.

See T54963
2019-04-10 12:52:57 +02:00
Jeroen Bakker
a1a8578d5c Fix T62449: Subsurf+hidden faces
When using subsurf (and other modifiers) the edit flags are not
propagated correctly. Currently we assume to read the edit flags
from the original object which is kind off hinding the real issue.

Modifiers use `mesh_new_nomain_from_template_ex` to create a copy
from an existing mesh. this method is only used by modifiers. So
by placing this we will make sure that editmesh is propagated.

Reviewed By: fclem, sergey

Maniphest Tasks: T62449

Differential Revision: https://developer.blender.org/D4666
2019-04-10 12:44:31 +02:00
Campbell Barton
1a12c9edab Keyframing: add operators that use keying-set ID's
Unfortunately we can't use insert/delete_keyframe operators in keymaps
because the enums aren't known at the time of keymap registration
and the keying sets are dynamic and use a poll function.

Add a version of insert/delete operators that takes a string
instead of an enum. Needed for D4626.

Also extract int to keying-set into a utility function.
2019-04-10 11:47:43 +02:00
Antonioya
99f1e3d57f Fix T63455: Legacy GPencil settings in Annotations 2019-04-10 11:31:37 +02:00
Bastien Montagne
f9e0836147 Fix T63347: No longer supported disable-ffserver option in install_deps script.
FFMPEG removed ffserver and that option alltogether three years ago.
2019-04-10 10:19:25 +02:00
Sergey Sharybin
b7a09114f6 Fix T63441: Cycles applies modifiers twice
Was a mistake in df26f28835, which caused access uninitialized variable.
2019-04-10 10:06:16 +02:00
Campbell Barton
e8fc6f6946 Cleanup: rename old -> versioning
The term 'old' isn't very meaningful, follow naming for existing
code that updates data.
2019-04-10 10:00:38 +02:00
Campbell Barton
a358f6bb69 Cleanup: use STR_ELEM macro 2019-04-10 09:36:06 +02:00