Blender Git Commit Log
Git Commits -> Revision e1d62d6
Revision e1d62d6 by Hans Goudey (soc-2021-curves) June 21, 2021, 14:31 (GMT) |
Geometry Nodes: Curve to Points Node for Evaluated Data This node implements the second option of T87429, creating points along the input splines with the necessary evaluated information for instancing: `tangent`, `normal`, and `rotation` attributes. All generic curve point and spline attributes are copied to the result points as well. The "Count" and "Length" methods are just like the current options in the resample node, but the output is points instead of a curve. The "Evaluated" method uses the points you see on the curve directly, and therefore should be the fastest. The rotation data is retrieved from a transform matrix built with the same method that the curve to mesh node uses. The radius attribute is divided by 10 so the points don't look absurdly huge in the viewport. In the future that could be an option. For the implementation, one thing that could use an improvement is the amount of temporary allocations while resampling to evaluated points before the final points. I expect that reusing a buffer for each thread would give a nice improvement. Differential Revision: https://developer.blender.org/D11539 |
Commit Details:
Full Hash: e1d62d67f30aa06cf1a319b730b71899e3de4b7e
Parent Commit: c162986
Committed By: Dilith Jayakody
Lines Changed: +438, -0
1 Added Path:
/source/blender/nodes/geometry/nodes/node_geo_curve_to_points.cc (+394, -0) (View)
8 Modified Paths:
/release/scripts/startup/nodeitems_builtins.py (+1, -0) (Diff)
/source/blender/blenkernel/BKE_node.h (+1, -0) (Diff)
/source/blender/blenkernel/intern/node.cc (+1, -0) (Diff)
/source/blender/makesdna/DNA_node_types.h (+6, -0) (Diff)
/source/blender/makesrna/intern/rna_nodetree.c (+32, -0) (Diff)
/source/blender/nodes/CMakeLists.txt (+1, -0) (Diff)
/source/blender/nodes/NOD_geometry.h (+1, -0) (Diff)
/source/blender/nodes/NOD_static_types.h (+1, -0) (Diff)
/source/blender/blenkernel/BKE_node.h (+1, -0) (Diff)
/source/blender/blenkernel/intern/node.cc (+1, -0) (Diff)
/source/blender/makesdna/DNA_node_types.h (+6, -0) (Diff)
/source/blender/makesrna/intern/rna_nodetree.c (+32, -0) (Diff)
/source/blender/nodes/CMakeLists.txt (+1, -0) (Diff)
/source/blender/nodes/NOD_geometry.h (+1, -0) (Diff)
/source/blender/nodes/NOD_static_types.h (+1, -0) (Diff)