Revision 45e2c12 by Dalai Felinto (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) November 27, 2020, 18:06 (GMT) |
Geometry Nodes: Fix building in Mac |
Revision c19b363 by Hans Goudey (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) 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. |
Revision abe38ee by Jacques Lucke (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) 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. |
Revision d40126d by Hans Goudey (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) 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. |
Revision 1bb864e by Jacques Lucke (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) 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. |
Revision 0d97c0d by Jacques Lucke (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) 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. |
Revision 76d78c9 by Jacques Lucke (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) November 26, 2020, 17:20 (GMT) |
Cleanup: correct comment |
Revision d1eec74 by Jacques Lucke (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) 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. |
Revision ac25786 by Jacques Lucke (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) 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. |
Revision 6d0e92c by Jacques Lucke (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) 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. |
Revision 881e148 by Jacques Lucke (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) 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. |
Revision 4a647ee by Jacques Lucke (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) November 26, 2020, 12:46 (GMT) |
Geometry Nodes: update normals after transforming mesh This is not done in `BKE_mesh_transform`. |
Revision 622b7ff by Jacques Lucke (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) 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. |
Revision 6c241b2 by Hans Goudey (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) 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. |
Revision c1b655c by Hans Goudey (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) November 25, 2020, 18:32 (GMT) |
Geometry Nodes: Improve wording of modifier error messages - Don't use contractions - Remove unecessary words |
Revision b4f3c3c by Hans Goudey (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) 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. |
Revision e3f8ffc by Jacques Lucke (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) November 25, 2020, 15:47 (GMT) |
Cleanup: avoid very generic using-namespace statements |
Revision 559999b by Jacques Lucke (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) November 25, 2020, 15:17 (GMT) |
Cleanup: minor changes |
Revision 257725f by Jacques Lucke (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) 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. |
Revision b356288 by Jacques Lucke (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) November 25, 2020, 14:55 (GMT) |
Geometry Nodes: change builtin attribute names based on T82693 |
|