Geometry Nodes: Rewrite parts of extrude mesh node
The node is still a bit non-standard in that it resizes an existing mesh rather than creating a new one, but this commit makes the extrude node a bit more similar to other mesh operations and makes other miscellaneous improvements, including: - Less use of intermediate states (compared to initial or final) - Topology map building is no longer reimplemented for the node - Attribute interpolation happens in a more familiar way - Some topology maps can be skipped if a domain is empty - More use of `IndexMask` instead of an array of indices - Logarithmic cost index mask lookup is avoided - Build index maps instead of implementing attribute propagation separately for every type Overall these changes might improve performance in a few cases, and they reduce Blender's binary size by 58 KB. Edge indices are different in some cases of the edge mode, so the test files are updated.
This commit is contained in:
parent
f644c936b6
commit
c31718649d