Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2021-09-21 21:11:39 +0300
committerHans Goudey <h.goudey@me.com>2021-09-21 21:11:39 +0300
commit4d51af68adb273a9e63cba196a71a404b07be95d (patch)
tree4fff8175e3eebd7f0326bed9e9b8828fff31ae31 /source/blender/blenkernel
parent29b13fa3cae61bff3707d6a3d844188f21dda06c (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.h1
-rw-r--r--source/blender/blenkernel/intern/node.cc1
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();