[Bf-blender-cvs] [57a063f5995] functions: new normalize vector node

Jacques Lucke noreply at git.blender.org
Sun Feb 2 14:27:16 CET 2020


Commit: 57a063f5995bd573eeee4ce93bf3d2a538692d80
Author: Jacques Lucke
Date:   Sun Feb 2 12:37:59 2020 +0100
Branches: functions
https://developer.blender.org/rB57a063f5995bd573eeee4ce93bf3d2a538692d80

new normalize vector node

===================================================================

M	release/scripts/startup/nodes/function_nodes/math.py
M	source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc

===================================================================

diff --git a/release/scripts/startup/nodes/function_nodes/math.py b/release/scripts/startup/nodes/function_nodes/math.py
index b09cadbf403..56075995a82 100644
--- a/release/scripts/startup/nodes/function_nodes/math.py
+++ b/release/scripts/startup/nodes/function_nodes/math.py
@@ -81,6 +81,7 @@ VectorReflectNode = create_single_type_two_inputs_math_node("Vector", "fn_Reflec
 VectorProjectNode = create_single_type_two_inputs_math_node("Vector", "fn_ProjectVectorNode", "Project Vector")
 VectorDotProductNode = create_two_inputs_math_node("Vector", "Vector", "Float", "fn_VectorDotProductNode", "Dot Product")
 VectorDistanceNode = create_two_inputs_math_node("Vector", "Vector", "Float", "fn_VectorDistanceNode", "Vector Distance")
+NormalizeVectorNode = create_single_input_math_node("Vector", "fn_NormalizeVectorNode", "Normalize Vector")
 
 BooleanAndNode = create_variadic_math_node("Boolean", "fn_BooleanAndNode", "And")
 BooleanOrNode = create_variadic_math_node("Boolean", "fn_BooleanOrNode", "Or")
diff --git a/source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc b/source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc
index 9aad67e94a8..8cf2578dfd5 100644
--- a/source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc
+++ b/source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc
@@ -359,6 +359,12 @@ static void INSERT_multiply_vector_with_float(FNodeMFBuilder &builder)
       builder, [](float3 a, float b) { return a * b; }, BLI_RAND_PER_LINE_UINT32);
 }
 
+static void INSERT_normalize_vector(FNodeMFBuilder &builder)
+{
+  build_math_fn_1in_1out<float3, float3>(builder,
+                                         [](float3 a) -> float3 { return a.normalized(); });
+}
+
 static void INSERT_boolean_and(FNodeMFBuilder &builder)
 {
   build_variadic_math_fn(
@@ -607,6 +613,7 @@ void add_function_tree_node_mapping_info(FunctionTreeMFMappings &mappings)
   mappings.fnode_inserters.add_new("fn_VectorDistanceNode", INSERT_vector_distance);
   mappings.fnode_inserters.add_new("fn_MultiplyVectorWithFloatNode",
                                    INSERT_multiply_vector_with_float);
+  mappings.fnode_inserters.add_new("fn_NormalizeVectorNode", INSERT_normalize_vector);
 
   mappings.fnode_inserters.add_new("fn_BooleanAndNode", INSERT_boolean_and);
   mappings.fnode_inserters.add_new("fn_BooleanOrNode", INSERT_boolean_or);



More information about the Bf-blender-cvs mailing list