[Bf-blender-cvs] [fed773cec60] functions: random number node should have float instead of int input

Jacques Lucke noreply at git.blender.org
Mon Jul 8 17:57:34 CEST 2019


Commit: fed773cec609d408fc021dec24b9d576a060ee47
Author: Jacques Lucke
Date:   Mon Jul 8 17:14:02 2019 +0200
Branches: functions
https://developer.blender.org/rBfed773cec609d408fc021dec24b9d576a060ee47

random number node should have float instead of int input

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

M	release/scripts/startup/nodes/function_nodes/random_number.py
M	source/blender/functions/functions/random.cpp

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

diff --git a/release/scripts/startup/nodes/function_nodes/random_number.py b/release/scripts/startup/nodes/function_nodes/random_number.py
index c65d952ebff..ae5088a5ae2 100644
--- a/release/scripts/startup/nodes/function_nodes/random_number.py
+++ b/release/scripts/startup/nodes/function_nodes/random_number.py
@@ -6,7 +6,7 @@ class RandomNumberNode(bpy.types.Node, FunctionNode):
     bl_label = "Random Number"
 
     def declaration(self, builder):
-        builder.fixed_input("seed", "Seed", "Integer")
+        builder.fixed_input("seed", "Seed", "Float")
         builder.fixed_input("min", "Min", "Float")
         builder.fixed_input("max", "Max", "Float")
         builder.fixed_output("value", "Value", "Float")
diff --git a/source/blender/functions/functions/random.cpp b/source/blender/functions/functions/random.cpp
index ade07c38310..58032fc3481 100644
--- a/source/blender/functions/functions/random.cpp
+++ b/source/blender/functions/functions/random.cpp
@@ -24,10 +24,10 @@ static float random_float(uint32_t x)
 class RandomNumber : public TupleCallBody {
   void call(Tuple &fn_in, Tuple &fn_out, ExecutionContext &UNUSED(ctx)) const override
   {
-    uint32_t seed = fn_in.get<int32_t>(0);
+    float seed = fn_in.get<float>(0);
     float min = fn_in.get<float>(1);
     float max = fn_in.get<float>(2);
-    float result = random_float(seed) * (max - min) + min;
+    float result = random_float(float_as_uint(seed)) * (max - min) + min;
     fn_out.set<float>(0, result);
   }
 };
@@ -35,7 +35,7 @@ class RandomNumber : public TupleCallBody {
 BLI_LAZY_INIT(SharedFunction, GET_FN_random_number)
 {
   FunctionBuilder builder;
-  builder.add_input("Seed", GET_TYPE_int32());
+  builder.add_input("Seed", GET_TYPE_float());
   builder.add_input("Min", GET_TYPE_float());
   builder.add_input("Max", GET_TYPE_float());
   builder.add_output("Value", GET_TYPE_float());



More information about the Bf-blender-cvs mailing list