Blender Git Commits

Blender Git "geometry-nodes" branch commits.

Page: 2 / 13

November 27, 2020, 18:06 (GMT)
Geometry Nodes: Fix building in Mac
November 27, 2020, 17:21 (GMT)
Geometry Nodes: Support exposing string sockets to the modifier

Create a string IDProperty in the modifier initialized with the socket's
default value.
November 26, 2020, 21:52 (GMT)
Geometry Nodes: fix when vertex group exists but there are no MDeformVerts yet

The `mesh->dvert` array is only allocated when needed. Just creating a new vertex
group without any vertices in it, does not trigger the allocation.
November 26, 2020, 17:49 (GMT)
Geometry Nodes: Use ID template node group selector in the modifier

This puts the same controls as in the node editor header
in the modifier panel.
November 26, 2020, 17:37 (GMT)
Geometry Nodes: use attribute span api in Join Geometry node

Copying over attributes from the original geometries to the new
geometry only takes ca. a third of the time compared to before.
November 26, 2020, 17:22 (GMT)
Geometry Nodes: use attribute span api in random attribute node

This results in a ~30% speedup. The execution time is bounded
by the random number generator here.
November 26, 2020, 17:20 (GMT)
Cleanup: correct comment
November 26, 2020, 17:12 (GMT)
Geometry Nodes: use attribute span api in attribute math node

For a simple add operation, this results in a 3-4x speedup.
November 26, 2020, 17:11 (GMT)
Geometry Nodes: support accessing attributes with spans

Before, attributes could only be accessed via setter and getter functions.
While this works well, it can be cumbersome and slow.
It would be better if most code could just operate on the underlying
attribute array directly. The issue is that some attributes are currently
not stored in plain arrays (e.g. vertex positions, vertex groups, ...).

This patch implements a solution where these "special" attributes are
converted into a temporary array for easy access and then copied
back into their correct form after all modifications are done.

Attribute accessors now have a `get_span` and `apply_span` method,
which can be used exactly for that purpose. In the case of attributes
that are plain arrays internally, only small constant overhead is added.
November 26, 2020, 17:03 (GMT)
Geometry Nodes: protect object from instancing itself directly

This is not a perfect check, because it does not check instances recursivly.
However, it helps protect us from the most common mistake.
November 26, 2020, 14:33 (GMT)
Geometry Nodes: maintain some more data in the Join node

Material indices and smooth states are not destroyed anymore.
If the two incoming meshes use different materials, the materials of
the first input will be used. This is obviously not ideal, because the
second input might change its material.

In the future we want to handle that differently and keep both materials,
but for now this is consistent with the boolean node.
November 26, 2020, 12:46 (GMT)
Geometry Nodes: update normals after transforming mesh

This is not done in `BKE_mesh_transform`.
November 26, 2020, 11:32 (GMT)
Geometry Nodes: fix computing bounding box of evaluated point cloud

Currently, the bounding box does not include instances. This is consistent
with other object types.
November 25, 2020, 20:34 (GMT)
Geometry Nodes: Node editor header interaction with active modifier

This commit makes the way the selector in the middle of the node editor
header interacts with the active modifier much more intuitive.

- With no active modifier, or when the active modifier is a non-node
modifier, the "new" operator adds a new nodes modifier.
- With an active node modifier, the drop-down affects the modifier's
selected node group.
- With no active object, there is no drop-down in the header.
- The node editor's node group always updates, even when there is no
active modifier.
- Pinning disables the drop-down and keeps the same node group
selected, regardless of the context.

This is designed to work similarly to materials and material slots,
which should be familiar to any Blender user. One workflow not allowed
by this design is editing any geometry node group, regardless of the
context, but if that turns out to be an issue it should be solved in a
similar way for all node editors.
November 25, 2020, 18:32 (GMT)
Geometry Nodes: Improve wording of modifier error messages

- Don't use contractions
- Remove unecessary words
November 25, 2020, 16:46 (GMT)
Geometry Nodes: Use context for active modifier operators

This adds "modifier" as a new context variable in the property editor.
It is used instead of getting the active modifier directly. This way it
displays in the breadcrumbs panel, and the variable can be set only
in the modifier tab, meaning it won't work from the shortcut even
when the modifiers aren't visible.
November 25, 2020, 15:47 (GMT)
Cleanup: avoid very generic using-namespace statements
November 25, 2020, 15:17 (GMT)
Cleanup: minor changes
November 25, 2020, 14:57 (GMT)
Geometry Nodes: hide domain enum from random attribute node

While we can support different domains already in this node, there is not
really anything you could do with that data yet. It can be added back when
there is a use case for it.
November 25, 2020, 14:55 (GMT)
Geometry Nodes: change builtin attribute names based on T82693
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021