diff options
author | Hans Goudey <h.goudey@me.com> | 2021-09-21 21:11:39 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2021-09-21 21:11:39 +0300 |
commit | 4d51af68adb273a9e63cba196a71a404b07be95d (patch) | |
tree | 4fff8175e3eebd7f0326bed9e9b8828fff31ae31 /source/blender/blenkernel | |
parent | 29b13fa3cae61bff3707d6a3d844188f21dda06c (diff) |
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
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_node.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/node.cc | 1 |
2 files changed, 2 insertions, 0 deletions
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(); |