Blender Git Loki

Blender Git commits from all branches.

Page: 610 / 2888

December 2, 2020, 17:24 (GMT)
Refactor the Custom Space patch.

Instead of modifying all the get_constraint_targets and
flush_constraint_targets callbacks, introduce wrapper API
functions and handle the new reference there.

Also, it is not needed to do all the target dance to compute
the space_obj_world_matrix.
December 2, 2020, 17:24 (GMT)
Constraints: add support for a new Owner Local Space for targets.

Add a new transformation space choice for bone constraints, which
represent the local transformation of the bone in the constraint
owner's local space.

The use case for this is transferring the local (i.e. excluding the
effect of parents) transformation of one bone to another one, while
ignoring the difference between their rest pose orientations.

Owner Local Space replaces the following setup:

* A `child` bone of the `target`, rotated the same as `owner` in rest pose.
* A `sibling` bone of the `target`, positioned same as `child` in rest
pose and using Copy Transforms in World Space from `child`.
* The `owner` bone constraint uses Local Space of `sibling`.

Differential Revision: https://developer.blender.org/D9493
December 2, 2020, 17:24 (GMT)
Limit Rotation: add an Euler Order option and orthogonalize the matrix.

Since Limit Rotation is based on Euler decomposition, it should allow
specifying the order to use for the same reasons as Copy Rotation does,
namely, if the bone uses Quaternion rotation for its animation channels,
there is no way to choose the order for the constraint.

In addition, add a call to orthogonalize the matrix before processing
for the same reasons as D8915, and an early exit in case no limits are
enabled for a bit of extra efficiency.

Since the constraint goes through Euler decomposition, it would remove
shear even before the change, but the rotation won't make much sense.

Differential Revision: https://developer.blender.org/D9626
December 2, 2020, 17:24 (GMT)
Copy Transforms: implement Invert, Fix Shear and more Mix options.

This constraint can be naturally viewed as a prototype for a future
4x4 matrix math node (or subset thereof), since its basic semantics
already is matrix assignment. Thus it makes sense to add math options
to this constraint to increase flexibility in the meantime.

This patch adds support for several operations that would be useful:

- An option to fix shear in the incoming target matrix.
- An option to invert the target matrix.
- More ways to combine target and owner matrix.

Shear is known to cause issues for various mathematical operations,
so an option to remove it at key points is useful. In the future node
system this would be a separate operation, but due to the limits of
the constraint stack it has to be built in for now.

Inverting a matrix is also an operation that can be useful to have.
For some uses it may be useful to invert components separately, so
implement this by checking the Mix mode setting to avoid UI options.

Finally, add two more ways to combine the matrices (multiplied by
two due to the necessity for the Before/After choice). Now there
are three combine modes:

Full implements regular matrix multiplication as the most basic option.

Split Channels combines location, rotation and scale separately.
Looking at D7547 there is demand for such a mode in some cases,
and even with nodes it's cumbersome to rig manually every time.

Finally, Aligned emulates the 'anti-shear' Aligned Inherit Scale mode,
and basically uses Full for location, and Split for rotation/scale.

Differential Revision: https://developer.blender.org/D9469
December 2, 2020, 17:24 (GMT)
Asset Browser: Various changes for previews

* Operator to set a custom data-block preview. Copies an image from a selected path to the ID's preview buffer.
* Object preview support (threaded). Creates a localized copy of the object, creates a temporary main, scene, view-layer and depsgraph, uses the "Frame Selected" logic to place a camera in front of the object, and renders that offscreen.
* Support defining (not necessarily rendering) icons in threads. Needed so the File Browser can expose file previews with an icon-id to scripts.
** For that, ported the C++ to be able to use scope based mutex locks.
** Also support ImBuf icons.
* Tag previews as "unfinished" while they render in a thread, for the File Browser to dynamically load previews as they get finished.
* Better handle cases where threaded preview generation is requested, but the ID type doesn't support it (fallback to single threaded).

Differential Revision: https://developer.blender.org/D9719
December 2, 2020, 16:50 (GMT)
AlembicProcedural: add a socket for the objects
December 2, 2020, 16:26 (GMT)
Asset Browser: "Make Asset" operator and UI integration

Exposes "Make Asset" in Outliner context menus and button context menus.

The Outliner can tell operators which IDs are selected via a new "selected_ids"
context member. We can use that for more operators and editors in future.
Other UI code can set a new "focused_id" context member (automatically done for
ID pointer property buttons). That way, data-block search menus or other
buttons representing a data-block (e.g. materal slots) can hand an ID to
operators via context.

Differential Revision: https://developer.blender.org/D9717
December 2, 2020, 16:21 (GMT)
cleanup, format
December 2, 2020, 15:58 (GMT)
Merge branch 'master' into geometry-nodes
December 2, 2020, 15:54 (GMT)
add support for reading face sets
December 2, 2020, 15:42 (GMT)
Asset Browser: "Make Asset" operator and UI integration
December 2, 2020, 14:58 (GMT)
Asset Browser: Metadata storage, reading, writing and API
December 2, 2020, 14:39 (GMT)
split logic for reading points and triangles into separate functions
December 2, 2020, 14:08 (GMT)
Point Separate Node: Change has_attribute function
December 2, 2020, 12:21 (GMT)
tag attributes as modified, and remove any stale normal data
December 2, 2020, 12:13 (GMT)
Merge branch 'master' into cycles_procedural_api
December 2, 2020, 11:57 (GMT)
Merge branch 'greasepencil-object' into greasepencil-io
December 2, 2020, 11:52 (GMT)
Merge branch 'master' into greasepencil-object

Conflicts:
build_files/cmake/platform/platform_unix.cmake
December 2, 2020, 09:13 (GMT)
tweak: copy transforms
December 2, 2020, 07:40 (GMT)
Fix T82988: Div by zero with curve deform modifier

In `calc_curve_deform` a factor is calculated without checking if
the divisior is zero or close to zero. This patch adds the missing
checks and sets the factor to zero if the division shouldn't be
computed.

Reviewed By: mont29

Differential Revision: https://developer.blender.org/D9645
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021