? random_value_patch.txt ? projectfiles_vc7/blender/blender.ncb ? projectfiles_vc7/blender/blender.suo Index: source/blender/blenkernel/BKE_node.h =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/blenkernel/BKE_node.h,v retrieving revision 1.36 diff -u -r1.36 BKE_node.h --- source/blender/blenkernel/BKE_node.h 19 Jan 2007 12:43:01 -0000 1.36 +++ source/blender/blenkernel/BKE_node.h 28 Jan 2007 22:45:35 -0000 @@ -252,6 +252,7 @@ #define CMP_NODE_COMBHSVA 246 #define CMP_NODE_MATH 247 #define CMP_NODE_LUMA_MATTE 248 +#define CMP_NODE_RANDOM_VALUE 250 /* filter types */ Index: source/blender/blenkernel/intern/node_composite.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/blenkernel/intern/node_composite.c,v retrieving revision 1.101 diff -u -r1.101 node_composite.c --- source/blender/blenkernel/intern/node_composite.c 19 Jan 2007 12:43:02 -0000 1.101 +++ source/blender/blenkernel/intern/node_composite.c 28 Jan 2007 22:45:07 -0000 @@ -5859,6 +5859,51 @@ /* execfunc */ node_composit_exec_math }; +/* **************** RAMDOM_VALUE ******************** */ +static bNodeSocketType cmp_node_ramdom_value_in[]= { + { SOCK_VALUE, 1, "Min : ", 0.0, 0.0, 0.0, 0.0, -999999, 999999}, + { SOCK_VALUE, 1, "Max : ", 1.0, 0.0, 0.0, 0.0, -999999, 999999}, + { -1, 0, "" } +}; + +static bNodeSocketType cmp_node_ramdom_value_out[]= { + { SOCK_VALUE, 0, "Value", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_composit_exec_ramdom_value(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + float random_number; + float min, max, range; + + + min = (float)(in[0]->vec[0]); + max = (float)(in[1]->vec[0]); + + range = abs(max - min); + + if (range < 1) + { + range = 1; + } + + srand ( time(NULL) * G.scene->r.cfra ); + random_number = min+((float)rand()*range/(RAND_MAX+1)); + + out[0]->vec[0]= random_number; +} + +static bNodeType cmp_node_random_value= { + /* type code */ CMP_NODE_RANDOM_VALUE, + /* name */ "Random Value", + /* width+range */ 160, 40, 200, + /* class+opts */ NODE_CLASS_INPUT, NODE_OPTIONS, + /* input sock */ cmp_node_ramdom_value_in, + /* output sock */ cmp_node_ramdom_value_out, + /* storage */ "", + /* execfunc */ node_composit_exec_ramdom_value +}; + /* ****************** types array for all shaders ****************** */ bNodeType *node_all_composit[]= { @@ -5870,6 +5915,7 @@ &cmp_node_value, &cmp_node_rgb, &cmp_node_time, + &cmp_node_random_value, &cmp_node_composite, &cmp_node_viewer,