Commit Graph

86642 Commits

Author SHA1 Message Date
William Reynish
f5ea1fc4fb Render: new material preview
* EEVEE support through irradiance volume and light probe.
* New shader ball shape (designed by Robin Marin).
* New cloth and liquid shapes, removed monkey.
* Replace world sphere by toggle to use world for any shape.
* Slight bevel on cube.
* More subdivision for displacement preview.
* Fixed and improved UV mapping for all shapes.
* Material icon / asset preview now uses specified shape instead of always
  a sphere. So for example hair material can be displayed as hair.

Ref T57683
2019-04-14 20:09:02 +02:00
8b0102b443 Fix Alembic using wrong visible/selected flags, fix warnings. 2019-04-14 19:54:51 +02:00
91d611b7cb Cleanup: remove deprecated grease pencil object property. 2019-04-14 19:54:51 +02:00
427f4c2321 Cleanup: fix compiler warnings. 2019-04-14 19:54:51 +02:00
Alexander Gavrilov
f73b3178f7 Fix T63599: fix the zero ease hack for the B-Bone end matrix.
Negate the second derivative, because it's effectively stepping back.
2019-04-14 20:30:33 +03:00
Alexander Gavrilov
6a59e12364 Fix T59622: dependency problems with Spline IK.
The bug is caused by problems in the dependency graph. Unfortunately,
fixing is not just a matter of fixing the graph, because correct
dependencies would cause a cycle here and in other reasonable use
cases. The real fix thus requires refactoring Spline IK to require
curve data only in the actual evaluation phase, and not in POSE_INIT_IK.

In addition, this separates the normal bone evaluation loop from
Spline IK computations for two reasons:

- That still needs to be done even if spline IK can't evaluate
  due to missing curve data.

- It should reduce issues with induced shearing, as Spline IK now
  controls how parent-child relations are handled in the chain, and
  can take care to only carry over rotation and location.
2019-04-14 18:59:27 +03:00
Alexander Gavrilov
3380fb3646 Complete the set of matrix multiplication functions.
Also, mul_m3_m3m4 was named incorrectly.
2019-04-14 18:14:06 +03:00
Miguel Porces
9abcae1fda Fix add_search node operator to show custom nodes
Differential Revision: https://developer.blender.org/D4667
2019-04-14 16:59:01 +02:00
Sharan Ranjit
6efac431a3 UI: Remember the last display mode in file browser
See also T57688.

Differential Revision: https://developer.blender.org/D4479
2019-04-14 16:33:59 +02:00
Jacques Lucke
14e1a4e9cf UI: Do not show full action range
Reviewers: brecht

Differential Revision: https://developer.blender.org/D4563
2019-04-14 16:18:48 +02:00
Campbell Barton
47adab4f99 CMake: prepare for BLENDER_SORTED_LIBS removal
No functional change, this adds LIB definition and args to cmake files.
Without this it's difficult to migrate away from 'BLENDER_SORTED_LIBS'
since there are many platforms/configurations that could break when
changing linking order.

Manually add and enable WITHOUT_SORTED_LIBS to try building
without sorted libs (currently fails since all variables are empty).
This check will eventually be removed.

See T46725.
2019-04-14 15:37:24 +02:00
Alexander Gavrilov
eee5a880f1 Dopesheet: enable Show Keyframes and Interpolation by default.
Make the option enabled by default, and enable it in old files,
unless Show Extremes is enabled.

However, suppress it for the Timeline, because its View menu
doesn't include the option.

Reviewers: billreynish, brecht

Differential Revision: https://developer.blender.org/D4678
2019-04-14 16:34:06 +03:00
Alexander Gavrilov
00b966b83a Explain the Local With Parent coordinate space better.
Just saying "parent transformation added" doesn't really explain
what this coordinate space does. Thus it seems almost nobody used
it and serious bugs like T61981 went unnoticed.
2019-04-14 16:26:47 +03:00
Alexander Gavrilov
b42ae4b972 Fix T61981: Local With Parent broken as constraint own space.
Specifically, matrix multiplication order in Local With Parent
to Pose space conversion was wrong, compared with Pose to LWP.
2019-04-14 15:50:57 +03:00
Campbell Barton
1d70b9009b Missed version bump in recent commit 2019-04-14 13:29:06 +02:00
Campbell Barton
31096ba9b6 Keymap: toggle context gizmo instead of the tool gizmo
When a tool is activated in many cases the gizmo is needed so toggling
them isn't so useful.

Change behavior to use the active object instead so users who prefer
to enable gizmos in the popover can toggle them.

Also remove duplicate keymap item.
2019-04-14 13:25:17 +02:00
Campbell Barton
2120c5af03 Gizmo: individual toggles for 3D view gizmos
The popover for displaying gizmos now has options for
empty, light & camera gizmos.

Transform toggles are now checkboxes, which has the advantage that it's
more obvious they can be mixed however changing from one to another now
uses 3x clicks instead of a single click-drag action.
We might need a faster way to switch between transform types.
2019-04-14 13:17:55 +02:00
Alexander Gavrilov
90e760270a Depsgraph: fix debug print crash on IK constraint without target. 2019-04-14 13:49:35 +03:00
Campbell Barton
fc416c3175 Cleanup: rename 'ObData' to 'Object Data' 2019-04-14 11:19:09 +02:00
Campbell Barton
61d71fdde5 Fix T63587: 3D View clipping region crashes 2019-04-14 11:04:34 +02:00
Campbell Barton
eff8cc9ccc Cleanup: doxy comments
Use doxy references to function and enums,
also correct some names which became out of sync.
2019-04-14 10:48:42 +02:00
Campbell Barton
b7e5433890 Cleanup: move operator constants out of DNA
Also use doxy struct member references.
2019-04-14 09:58:40 +02:00
Campbell Barton
14884cda1f Gizmo: move transform to a persistent option
Based on feedback from animators, this is useful to keep as a view
option (as in 2.7x).

Now the transform gizmos can be enabled from the popover,
the tools still work for location/scale/rotation.
The transform tool has been removed.

See T63518
2019-04-13 20:58:25 +02:00
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
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 98b06c20a0d4a66e2d9f4496c788f3d0902ea7c6.

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 b389bb5ef8a
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