Blender Git Loki

Blenderin Git "master"-kehityshaaran kommitit.

Page: 205 / 5574

July 18, 2021, 18:11 (GMT)
Fix T89929: Crash when hiding in the render a previously keyframed volume

Regression introduced in {rBbfa3dc91b754}.

`ID_RECALC_GEOMETRY` should tag all operations of the `GEOMETRY`
component and not just the operation of node `GEOMETRY_EVAL_INIT`.
July 18, 2021, 18:09 (GMT)
Geometry Nodes: Curve Trim Node

This node implements shortening each spline in the curve based on
either a length from the start of each spline, or a factor of the
total length of each spline, similar to the "Start & End Mapping"
panel of curve properties.

For Bezier curves, the first and last control points are adjusted
to maintain the shape of the curve, but NURB splines are currently
implicitly converted to poly splines.

The node is implemented to avoid copying where possible, so it outputs
a changed version of the input curve rather than a new one.

Differential Revision: https://developer.blender.org/D11901
July 18, 2021, 16:13 (GMT)
Speed up Delaunay raycast.

From Erik Abrahamsson, this uses parallel loops for raycasting.
It speeds up one example with many crossings of a bezier curve,
from 0.68s to 0.28s.
July 18, 2021, 16:09 (GMT)
Versioning: fix vertex group name loss in linked duplicates.

After rB3b6ee8cee708 by @HooglyBoogly vertex groups were moved
to mesh data, and versioning code was provided to upgrade old
files. However, it fails to consider the case of linked duplicates
having different name lists, and dependent on the object order
can cause some of the names to be lost. This can even be all of
them, if there is a duplicate without any names, which can be
easily created by lazy Python code.

To fix this, change the code to use the longest available name list.

Differential Revision: https://developer.blender.org/D11958
July 18, 2021, 15:59 (GMT)
Fix: Incorrect logic in spline lookup function

This section of code deals with evaluated points,
so that is the size it should use.
July 18, 2021, 14:48 (GMT)
Greatly improve speed of Delaunay when have a lot of holes.

Using part of a patch from Erik Abrahamsson, this replaces the
use of linked lists for original id tracking by Sets.
I had thought that the lists were unlikely to grow to more than
a few elements, but when the mesh has a lot of holes (whose
original ids go *outside* the hole, and therefore, most of the
mesh), this assumption can be very wrong.
On a Text regression test, the time went from 11.67s to 0.16s
with this fix. I also tested to make sure that Boolean didn't
slow down with this, and found it actually had a very slight speedup.

Using Sets exposed a dependency on the ordering of the items
in the id lists, luckily caught by a mesh intersect regression test,
so fixed that.
July 18, 2021, 00:44 (GMT)
Fix T89868: Crash showing thumbnail of wide-aspect image

Scaling down images could create images with a width or height of zero.

Clamp at 1 to prevent a crash, also add an assert to scaling functions.

Ref D11956
Revision 1188038 by Hans Goudey
July 16, 2021, 19:29 (GMT)
Cleanup: Simplify realizing of pointcloud instances

Just a small change to make the function slightly shorter.
July 16, 2021, 19:20 (GMT)
Fix T89624: Vertex painting causes mesh to flicker

The `ibo.lines_paint_mask` extractor doesn't have a callback to iterate
bmesh faces, this made `filter_into` ignore the extractor.
Revision e7b441a by Hans Goudey
July 16, 2021, 17:32 (GMT)
Cleanup: Simplify logic, use C++ types

Also remove an unecessary null check, and make inner loop simpler.
July 16, 2021, 17:16 (GMT)
Fix T89722: Duplicate macro can cause strips to overlap

Bug caused by 78693d524c13 accidentally removing overlap handling when
transform operator is canceled.

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D11899
July 16, 2021, 17:16 (GMT)
VSE: Fix multicam splitting all selected strips

`split_multicam` used split operator, where if more strips than
multicam were selected, all would be split, which is undesirable.

Add `Sequence.split()` RNA API function. to split individual strips.
Function accepts `frame` and `split_method arguments`. Returns right
strip after splitting.

In case when strip being split have effects, these will be split too, so
no invalid state should be created.

Selection is not handled, this is by design up to user.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D11926
Revision feba1fe by Hans Goudey
July 16, 2021, 17:00 (GMT)
Cleanup: Move gpencil_geom.c to C++

This will help enable development on optimizations to the perimeter
calculation here. Using C++ data structures like Array can make the
code easier to read as well.

Longer term, this can help improve integration with attributes
and possibly the new curve code (since strokes and curves are
quite similar in theory).

Differential Revision: https://developer.blender.org/D11941
Revision c4df8ac by Hans Goudey
July 16, 2021, 16:23 (GMT)
Fix T89899: Crashes when accessing vertex groups from objects

We need to be more strict about trying to retrieve a list of vertex group
names from objects now, as only three object types support them.
This commit adds a check for vertex group support in a few places, the
data transfer operator/modifier, copying vertex groups to selected
objects, and the vertex group remove and clear functions.

Differential Revision: https://developer.blender.org/D11947
Revision 6025897 by Hans Goudey
July 16, 2021, 16:05 (GMT)
Cleanup: Get vertex group names directly from grease pencil data
Revision 802a59a by Hans Goudey
July 16, 2021, 16:02 (GMT)
Cleanup: Remove redundant logic

The object type was checked twice unnecessarily. Also use a function
for the check to be more explicit.
July 16, 2021, 13:12 (GMT)
Surface Deform: support sparse binding mode for improving performance.

When a vertex group is used to limit the influence of the modifier
to a subset of vertices, binding data for vertices with zero weight
is not needed. This wastes memory, disk space and CPU cycles.

If the vertex group contents is known to be final and constant,
it is reasonable to optimize by only storing data group vertices.
This has to be an option in case the group can change.

Supporting this requires adding a vertex index field and spliting
the vertex count into mesh and bind variants, but both happen to
fit in available padding. The old numverts field is renamed to the
new bound vertex count field to maintain the array length invariant.
Versioning is used to initialize the other new fields.

If a file with sparse binding is opened in an old blender version,
it is corrupted into a non-sparse bind with vertex count mismatch,
preventing the modifier from working until rebind.

Differential Revision: https://developer.blender.org/D11924
July 16, 2021, 12:53 (GMT)
Fix T89782: Segfault populating popup menu with dimensions above the opengl limit

The crash happens because `GPU_offscreen_create` is called with `err_out` `NULL`.

This patch proposes a solution within the `GPU_offscreen_create` itself
and raises an error report in the interface if a menu is called with
dimensions beyond what is supported.

Ref T89782

Maniphest Tasks: T89782

Differential Revision: https://developer.blender.org/D11927
July 16, 2021, 12:53 (GMT)
Fix T89875: False dependency cycle on particle systems

`POINT_CACHE_RESET` pointed to `GEOMETRY_EVAL_INIT` while
`GEOMETRY_EVAL_INIT` pointed to `POINT_CACHE_RESET`.

Now `POINT_CACHE_RESET` points to the same nodes pointed to by
`GEOMETRY_EVAL_INIT` thus avoiding the dependency cycle.
July 16, 2021, 12:48 (GMT)
Cleanup: preview rendering, update assumptions in comment

The `action_preview_render()` function used to just render, but now it
also temporarily applies the pose. Its comment is now updated for this.

No functional changes.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021