[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11788] branches/soc-2007-maike/source/ blender/src/glsl_node_util.c: Nodes variables declaration functions added

Miguel Torres Lima torreslima at gmail.com
Wed Aug 22 18:57:19 CEST 2007


Revision: 11788
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11788
Author:   maike
Date:     2007-08-22 18:57:19 +0200 (Wed, 22 Aug 2007)

Log Message:
-----------
Nodes variables declaration functions added

Modified Paths:
--------------
    branches/soc-2007-maike/source/blender/src/glsl_node_util.c

Modified: branches/soc-2007-maike/source/blender/src/glsl_node_util.c
===================================================================
--- branches/soc-2007-maike/source/blender/src/glsl_node_util.c	2007-08-22 16:21:48 UTC (rev 11787)
+++ branches/soc-2007-maike/source/blender/src/glsl_node_util.c	2007-08-22 16:57:19 UTC (rev 11788)
@@ -127,7 +127,33 @@
   return var;  
 }
 
+static char *glsl_generate_node_material_vars(bNode *node, char *name)
+{
+  char *vars = NULL;
+  bNodeSocket *sock;
+  bNodeStack *stack;
+  int i = 0;
 
+  for(sock = node->inputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_material_input_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  i = 0;
+
+  for(sock = node->outputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_material_output_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  return vars;
+}
+
+
 static char *glsl_node_rgb_output_vars(char *name, int nr, short vartype, short decl)
 {
   char *vars[1] = { "color" };
@@ -138,6 +164,24 @@
 }
 
 
+static char *glsl_generate_node_rgb_vars(bNode *node, char *name)
+{
+  char *vars = NULL;
+  bNodeSocket *sock;
+  bNodeStack *stack;
+  int i = 0;
+
+  for(sock = node->outputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_rgb_output_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  return vars;
+}
+
+
 static char *glsl_node_value_output_vars(char *name, int nr, short vartype, short decl)
 {
   char *vars[1] = { "value" };
@@ -147,8 +191,27 @@
   return var;  
 }
 
-static char *glsl_node_mixrgb_input_vars(char *name, int nr, short vartype, short decl)
+
+static char *glsl_generate_node_value_vars(bNode *node, char *name)
 {
+  char *vars = NULL;
+  bNodeSocket *sock;
+  bNodeStack *stack;
+  int i = 0;
+
+  for(sock = node->outputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_value_output_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  return vars;
+}
+
+
+static char *glsl_node_rgbmix_input_vars(char *name, int nr, short vartype, short decl)
+{
   char *vars[3] = { "fac", "color1", "color2" };
   
   DOINVAR
@@ -157,7 +220,7 @@
 }
 
 
-static char *glsl_node_mixrgb_output_vars(char *name, int nr, short vartype, short decl)
+static char *glsl_node_rgbmix_output_vars(char *name, int nr, short vartype, short decl)
 {
   char *vars[1] = { "color" };
 
@@ -166,6 +229,34 @@
   return var;  
 }
 
+
+static char *glsl_generate_node_rgbmix_vars(bNode *node, char *name)
+{
+  char *vars = NULL;
+  bNodeSocket *sock;
+  bNodeStack *stack;
+  int i = 0;
+
+  for(sock = node->inputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_rgbmix_input_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  i = 0;
+
+  for(sock = node->outputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_rgbmix_output_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  return vars;
+}
+
+
 static char *glsl_node_colorband_input_vars(char *name, int nr, short vartype, short decl)
 {
   char *vars[1] = { "fac" };
@@ -186,6 +277,33 @@
 }
 
 
+static char *glsl_generate_node_colorband_vars(bNode *node, char *name)
+{
+  char *vars = NULL;
+  bNodeSocket *sock;
+  bNodeStack *stack;
+  int i = 0;
+
+  for(sock = node->inputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_colorband_input_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  i = 0;
+
+  for(sock = node->outputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_colorband_output_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  return vars;
+}
+
+
 static char *glsl_node_rgbtobw_input_vars(char *name, int nr, short vartype, short decl)
 {
   char *vars[1] = { "color" };
@@ -205,6 +323,34 @@
   return var;  
 }
 
+
+static char *glsl_generate_node_rgbtobw_vars(bNode *node, char *name)
+{
+  char *vars = NULL;
+  bNodeSocket *sock;
+  bNodeStack *stack;
+  int i = 0;
+
+  for(sock = node->inputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_rgbtobw_input_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  i = 0;
+
+  for(sock = node->outputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_rgbtobw_output_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  return vars;
+}
+
+
 static char *glsl_node_texture_input_vars(char *name, int nr, short vartype, short decl)
 {
   char *vars[1] = { "vector" };
@@ -225,6 +371,33 @@
 }
 
 
+static char *glsl_generate_node_texture_vars(bNode *node, char *name)
+{
+  char *vars = NULL;
+  bNodeSocket *sock;
+  bNodeStack *stack;
+  int i = 0;
+
+  for(sock = node->inputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_texture_input_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  i = 0;
+
+  for(sock = node->outputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_texture_output_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  return vars;
+}
+
+
 static char *glsl_node_geometry_output_vars(char *name, int nr, short vartype, short decl)
 {
   char *vars[8] = { "global", "local", "view", "orco", "uv", "normal", "vertcol", "fb" };
@@ -235,6 +408,24 @@
 }
 
 
+static char *glsl_generate_node_geometry_vars(bNode *node, char *name)
+{
+  char *vars = NULL;
+  bNodeSocket *sock;
+  bNodeStack *stack;
+  int i = 0;
+
+  for(sock = node->outputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_geometry_output_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  return vars;
+}
+
+
 static char *glsl_node_normal_input_vars(char *name, int nr, short vartype, short decl)
 {
   char *vars[1] = { "normal" };
@@ -254,6 +445,34 @@
   return var;  
 }
 
+
+static char *glsl_generate_node_normal_vars(bNode *node, char *name)
+{
+  char *vars = NULL;
+  bNodeSocket *sock;
+  bNodeStack *stack;
+  int i = 0;
+
+  for(sock = node->inputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_normal_input_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  i = 0;
+
+  for(sock = node->outputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_normal_output_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  return vars;
+}
+
+
 static char *glsl_node_mapping_input_vars(char *name, int nr, short vartype, short decl)
 {
   char *vars[1] = { "vector" };
@@ -274,8 +493,35 @@
 }
 
 
-static char *glsl_node_vectcurves_input_vars(char *name, int nr, short vartype, short decl)
+static char *glsl_generate_node_mapping_vars(bNode *node, char *name)
 {
+  char *vars = NULL;
+  bNodeSocket *sock;
+  bNodeStack *stack;
+  int i = 0;
+
+  for(sock = node->inputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_mapping_input_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  i = 0;
+
+  for(sock = node->outputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_mapping_output_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  return vars;
+}
+
+
+static char *glsl_node_veccurves_input_vars(char *name, int nr, short vartype, short decl)
+{
   char *vars[1] = { "vector" };
   
   DOINVAR
@@ -284,7 +530,7 @@
 }
 
 
-static char *glsl_node_vectcurves_output_vars(char *name, int nr, short vartype, short decl)
+static char *glsl_node_veccurves_output_vars(char *name, int nr, short vartype, short decl)
 {
   char *vars[1] = { "vector" };
 
@@ -294,6 +540,33 @@
 }
 
 
+static char *glsl_generate_node_veccurves_vars(bNode *node, char *name)
+{
+  char *vars = NULL;
+  bNodeSocket *sock;
+  bNodeStack *stack;
+  int i = 0;
+
+  for(sock = node->inputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_veccurves_input_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  i = 0;
+
+  for(sock = node->outputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_veccurves_output_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  return vars;
+}
+
+
 static char *glsl_node_rgbcurves_input_vars(char *name, int nr, short vartype, short decl)
 {
   char *vars[1] = { "color" };
@@ -314,6 +587,33 @@
 }
 
 
+static char *glsl_generate_node_rgbcurves_vars(bNode *node, char *name)
+{
+  char *vars = NULL;
+  bNodeSocket *sock;
+  bNodeStack *stack;
+  int i = 0;
+
+  for(sock = node->inputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_rgbcurves_input_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  i = 0;
+
+  for(sock = node->outputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_rgbcurves_output_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  return vars;
+}
+
+
 static char *glsl_node_camera_output_vars(char *name, int nr, short vartype, short decl)
 {
   char *vars[3] = { "vector", "depth", "distance" };
@@ -324,6 +624,24 @@
 }
 
 
+static char *glsl_generate_node_camera_vars(bNode *node, char *name)
+{
+  char *vars = NULL;
+  bNodeSocket *sock;
+  bNodeStack *stack;
+  int i = 0;
+
+  for(sock = node->outputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+
+    vars = glsl_string(2, GFREE, vars, GFREE, glsl_node_camera_output_vars(name, i, stack->sockettype, 1));
+    i++;
+  }
+
+  return vars;
+}
+
+
 static char *glsl_node_math_input_vars(char *name, int nr, short vartype, short decl)
 {
   char *vars[2] = { "value1" , "value2" };
@@ -344,6 +662,33 @@
 }
 
 
+static char *glsl_generate_node_math_vars(bNode *node, char *name)
+{
+  char *vars = NULL;
+  bNodeSocket *sock;
+  bNodeStack *stack;
+  int i = 0;
+
+  for(sock = node->inputs.first; sock; sock = sock->next){
+    stack = &sock->ns;
+

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list