From 4d51af68adb273a9e63cba196a71a404b07be95d Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Tue, 21 Sep 2021 13:11:39 -0500 Subject: Geometry Nodes: Curve tangent node This node outputs the direction vector, or tangent of a curve at every control point. For poly splines this is simply the evaluated tangents, so it all works very simply. For Bezier splines it uses the tangent at the evaluated point corresponding to each control point, and NURBS are interpereted as poly splines built from their control points. Internally the node is called "Input Tangent" to simplify using it for mesh tangents as well in the future like the "Normal" node. Differential Revision: https://developer.blender.org/D12581 --- source/blender/blenkernel/BKE_node.h | 1 + source/blender/blenkernel/intern/node.cc | 1 + 2 files changed, 2 insertions(+) (limited to 'source/blender/blenkernel') diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index e4e9a6eff3a..28ac27c09c6 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -1496,6 +1496,7 @@ int ntreeTexExecTree(struct bNodeTree *ntree, #define GEO_NODE_REALIZE_INSTANCES 1083 #define GEO_NODE_ATTRIBUTE_STATISTIC 1084 #define GEO_NODE_CURVE_SAMPLE 1085 +#define GEO_NODE_INPUT_TANGENT 1086 /** \} */ diff --git a/source/blender/blenkernel/intern/node.cc b/source/blender/blenkernel/intern/node.cc index e2891f00119..cfcd50dc482 100644 --- a/source/blender/blenkernel/intern/node.cc +++ b/source/blender/blenkernel/intern/node.cc @@ -5208,6 +5208,7 @@ static void registerGeometryNodes() register_node_type_geo_input_material(); register_node_type_geo_input_normal(); register_node_type_geo_input_position(); + register_node_type_geo_input_tangent(); register_node_type_geo_is_viewport(); register_node_type_geo_join_geometry(); register_node_type_geo_material_assign(); -- cgit v1.2.3