[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [10860] branches/soc-2007-maike/source/ blender/src/glsl_program.c: Limit light glsl code creation to num_lights > 0

Miguel Torres Lima torreslima at gmail.com
Sat Jun 2 17:49:56 CEST 2007


Revision: 10860
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=10860
Author:   maike
Date:     2007-06-02 17:49:56 +0200 (Sat, 02 Jun 2007)

Log Message:
-----------
Limit light glsl code creation to num_lights > 0

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

Modified: branches/soc-2007-maike/source/blender/src/glsl_program.c
===================================================================
--- branches/soc-2007-maike/source/blender/src/glsl_program.c	2007-06-02 15:47:23 UTC (rev 10859)
+++ branches/soc-2007-maike/source/blender/src/glsl_program.c	2007-06-02 15:49:56 UTC (rev 10860)
@@ -315,22 +315,28 @@
     "}\0"
   };
 
-  char *lights_code = glsl_create_lights_code(mat);
+  int num_lights;
   char *result;
-  
-  asprintf(&result,"%s%s%s", main_init, lights_code, main_end);
-  free(lights_code);
 
-  printf("\n%s a\n", result);
+  if((num_lights = glsl_get_num_lights()) > 0){
+    char *lights_code = glsl_create_lights_code(mat, num_lights);
+     
+    asprintf(&result,"%s%s%s", main_init, lights_code, main_end);
+    free(lights_code);
+    
+    printf("\n%s a\n", result);
+  }
+  else{
+    asprintf(&result, "%s%s", main_init, main_end);
+  }
   
   return result;
 }
 
 
-char *glsl_create_lights_code(Material *mat)
+char *glsl_create_lights_code(Material *mat, int num_lights)
 {
   int i;
-  int num_lights = glsl_get_num_lights();
   GLSL_LightList list = glsl_get_lights();
   GLSL_Light light;
 





More information about the Bf-blender-cvs mailing list