Blender Git Commits

Blender Git "master" branch commits.

Revision f694321 by Hans Goudey
6 hours 33 min ago
Fix: Curve resample duplicates last point for cyclic splines

The last point of the output was at the same location as the
first point of a cyclic spline. The fix is simple, just account for
the cyclic when choosing the sample edge length, and don't
hard code the last sample.
Revision 7029cc2 by Hans Goudey
6 hours 53 min ago
Fix T88126: Curve resample crash for single point input

The spline `length` function assumed that the curve always had evaluated
edges. That is clearly false. This commit adds a check to `length` and a
special case for a single point in the curve resample node.
Revision 518c5ce by Hans Goudey
8 hours 9 min ago
Geometry Nodes: Improve point instance node performance

This commit uses two changes to improve the performance of the point
instance node.

**Prevent Reallocations**
At 64 bytes, the transform matrix for every instance is rather large,
so reallocating the vector as it grows can become a performance bottle-
neck. This commit reserves memory for the instances that will be added
to prevent unecessary reallocations as the instance vector grows.

In a test with 4 million instances of 3 objects in a collection, the
node was about 40% faster, from 370ms to 270ms for the node.

Currently the instances are added by appending to a vector. By changing
this slightly to fill indices instead, we can parallelize the operation
so that multiple threads can fill data at the same time. Tested on a
Ryzen 3700x, this reduced the runtime from the above 270ms to 44ms
average, bringing the total speedup to ~8x.

Note that displaying the instances in the viewport is still much slower
than the calculations in node, this change doesn't affect that.
13 hours 14 min ago
Merge branch 'blender-v2.93-release'
13 hours 14 min ago
GPencil: Sort Line Art modifier alphabetically
13 hours 15 min ago
GPencil: Name Scene Line Art objects "Line Art"

Matching Object and Collection line art type objects.
Revision 9569a52 by Hans Goudey
17 hours 13 min ago
Geometry Nodes: Refactor point instance node

This patch refactors the instance component to make use of the earlier
refactoring in rB4599cea15dcf. Now we don't have to build an array of
instance references the size of the point domain, and we can gather the
possible instances only once and use the same vector for all component
types. Generally the node should be a bit faster and use less memory.

The logic is moved around a bit, especially the hashing of the ID
attribute to pick from the instance list, but the result is unchanged.

Differential Revision:
1 day and 0 hours ago
Cleanup: remove use of persistent data handles in geometry nodes

Those were mostly just left over from previous work on particle nodes.
They solved the problem of keeping a reference to an object over
multiple frames and in a cache. Currently, we do not have this problem
in geometry nodes, so we can also remove this layer of complexity
for now.
1 day and 6 hours ago
Cleanup: comment PlayAnim struct members
1 day and 6 hours ago
Cleanup: remove unused turbo struct member from PlayAnim

This was never used (since 2.25 at least).
1 day and 6 hours ago
Cleanup: correct PlayState.stopped state which was inverted
1 day and 6 hours ago
Merge branch 'blender-v2.93-release'
1 day and 6 hours ago
Fix PlayAnim cache size increasing when playing multiple animations

Error in 0499dbc5c16fe6b276da81d65cade4f5da92a308
1 day and 8 hours ago
Merge branch 'blender-v2.93-release'
1 day and 8 hours ago
Fix PlayAnim X/Y flipping

This functionality was missed in recent GLSL drawing update
Revision e46b9de by Hans Goudey
1 day and 13 hours ago
Fix: Curve to mesh node assert when last profile segment is vector

We need to always add a single point to the last cyclic segment that
completes the loop, because that includes the starting point of the
evaluated edge. The existing code forgot about that point.
Revision 3185084 by Hans Goudey
1 day and 16 hours ago
Geometry Noes: Curve Resample Node

This node generates a naturally parametarized (even length edge) poly
spline version of every spline in the input. There are two modes,
"Count", and "Length". These are similar to the same options for the
line primitive node in end points mode.

I implemented this instead of a "Sample Points" node, because for this
operation it's trivial to keep the result as a curve, which is nice
since it increases flexibility, and because it can make instancing
simpler, i.e. using the transforms of each evaluated point rather than
requiring the construction of a "rotation" attribute.

Differential Revision:
1 day and 20 hours ago
GPencil: New Append operators

Now it's possible to append materials of one grease pencil object into another one. The operator allows active material or all materials.

Also, the Layer Copy To Object has been renamed to Layer Append to Object to keep consistency and now allows to append all layers at once.
1 day and 21 hours ago
Cleanup: Fix deinterlace code block style
1 day and 21 hours ago
UI: Display indicator in the 3D Viewport when Clipping Region is on

Small addition inspired by [this tweet]( of a user in a situation I also saw myself in the past.

Showing "(Clipped)" next to the view name in the `Text Info` overlay fits well since it's a per-viewport setting.

{F10059921, size=full}

While on Local view:
{F10059925, size=full}

Multiple viewports:
{F10059946, size=full}

Reviewed By: Severin

Differential Revision:
By: Miika HämäläinenLast update: Nov-07-2014 14:18 MiikaHweb | 2003-2021