[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11317] branches/soc-2007-maike/source/ blender: Colorband changes

Miguel Torres Lima torreslima at gmail.com
Thu Jul 19 18:37:23 CEST 2007


Revision: 11317
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11317
Author:   maike
Date:     2007-07-19 18:37:23 +0200 (Thu, 19 Jul 2007)

Log Message:
-----------
Colorband changes

Modified Paths:
--------------
    branches/soc-2007-maike/source/blender/include/BIF_glsl_colorband.h
    branches/soc-2007-maike/source/blender/src/glsl_colorband.c
    branches/soc-2007-maike/source/blender/src/glsl_drawobject.c
    branches/soc-2007-maike/source/blender/src/glsl_light.c
    branches/soc-2007-maike/source/blender/src/glsl_node_util.c
    branches/soc-2007-maike/source/blender/src/glsl_uniforms.c

Modified: branches/soc-2007-maike/source/blender/include/BIF_glsl_colorband.h
===================================================================
--- branches/soc-2007-maike/source/blender/include/BIF_glsl_colorband.h	2007-07-19 14:45:27 UTC (rev 11316)
+++ branches/soc-2007-maike/source/blender/include/BIF_glsl_colorband.h	2007-07-19 16:37:23 UTC (rev 11317)
@@ -12,6 +12,9 @@
 {
   struct ColorBand *colorband;
   short index;
+
+  float tex[COLORBAND_WIDTH][4];
+
 #ifdef __APPLE__
   unsigned long texid;
 #else

Modified: branches/soc-2007-maike/source/blender/src/glsl_colorband.c
===================================================================
--- branches/soc-2007-maike/source/blender/src/glsl_colorband.c	2007-07-19 14:45:27 UTC (rev 11316)
+++ branches/soc-2007-maike/source/blender/src/glsl_colorband.c	2007-07-19 16:37:23 UTC (rev 11317)
@@ -159,7 +159,6 @@
 
 void glsl_colorband_generate_tex(GLSL_ColorBand colorband, short type)
 {  
-  float cb_tex[COLORBAND_WIDTH][4];
   GLuint tex_name;
   float texels[4];
   ColorBand *cb = colorband->colorband;
@@ -170,15 +169,13 @@
 
   for(i = 0; i < 512; i++){
     do_colorband(cb, (float) i / 511, texels);
-    cb_tex[i][0] = texels[0];
-    cb_tex[i][1] = texels[1];
-    cb_tex[i][2] = texels[2];
-    cb_tex[i][3] = texels[3];
-
-    printf("\n texels %d: %f, %f, %f, %f\n", i, cb_tex[i][0], cb_tex[i][1], cb_tex[i][2], cb_tex[i][3]);
+    colorband->tex[i][0] = texels[0];
+    colorband->tex[i][1] = texels[1];
+    colorband->tex[i][2] = texels[2];
+    colorband->tex[i][3] = texels[3];
   }
 
-  glEnable(GL_TEXTURE_1D);
+  //glEnable(GL_TEXTURE_1D);
 
   /*switch(type)
     {
@@ -190,8 +187,7 @@
   glActiveTexture(GL_TEXTURE0 + tex_name);
   glBindTexture(GL_TEXTURE_1D, tex_name);
   colorband->texid = tex_name;
-  glTexImage1D(GL_TEXTURE_1D, 0, GL_RGBA, COLORBAND_WIDTH, 0, GL_RGBA, GL_UNSIGNED_BYTE, cb_tex);
-
+  glTexImage1D(GL_TEXTURE_1D, 0, GL_RGBA, COLORBAND_WIDTH, 0, GL_RGBA, GL_UNSIGNED_BYTE, colorband->tex);
   colorband->tex_set = 1;
 }
 

Modified: branches/soc-2007-maike/source/blender/src/glsl_drawobject.c
===================================================================
--- branches/soc-2007-maike/source/blender/src/glsl_drawobject.c	2007-07-19 14:45:27 UTC (rev 11316)
+++ branches/soc-2007-maike/source/blender/src/glsl_drawobject.c	2007-07-19 16:37:23 UTC (rev 11317)
@@ -362,23 +362,7 @@
     if(!oldmat || mat != oldmat){
       if(!mat)
 	mat = &defmaterial;
-      else{
-	GLSL_Material material = BLI_ghash_lookup(matHash, mat);
-	if(material->diff_ramp){
-	  GLSL_ColorBand colorband = material->diff_ramp;
-	  glEnable(GL_TEXTURE_1D);
-	  glActiveTexture(GL_TEXTURE0 + colorband->texid);
-	  glBindTexture(GL_TEXTURE_1D, colorband->texid);
-	  
-	}
-	if(material->spec_ramp){
-	  GLSL_ColorBand colorband = material->spec_ramp;
-	  glEnable(GL_TEXTURE_1D);
-	  glActiveTexture(GL_TEXTURE1);
-	  glBindTexture(GL_TEXTURE_1D, colorband->texid);
-	}
-      }
-
+ 
       glColor4f(mat->r, mat->g, mat->b, mat->alpha);
       
       if(G.vd->drawtype == OB_SHADED){

Modified: branches/soc-2007-maike/source/blender/src/glsl_light.c
===================================================================
--- branches/soc-2007-maike/source/blender/src/glsl_light.c	2007-07-19 14:45:27 UTC (rev 11316)
+++ branches/soc-2007-maike/source/blender/src/glsl_light.c	2007-07-19 16:37:23 UTC (rev 11317)
@@ -275,7 +275,7 @@
       break;  
 
     glUseProgram(0);
-  }
+  } printf("\ngl error lights: %d\n", glGetError());
 
   MEM_freeN(color);
   MEM_freeN(dist);

Modified: branches/soc-2007-maike/source/blender/src/glsl_node_util.c
===================================================================
--- branches/soc-2007-maike/source/blender/src/glsl_node_util.c	2007-07-19 14:45:27 UTC (rev 11316)
+++ branches/soc-2007-maike/source/blender/src/glsl_node_util.c	2007-07-19 16:37:23 UTC (rev 11317)
@@ -135,7 +135,7 @@
 
   shader = glsl_create_GLshader(code, GL_FRAGMENT_SHADER, 1);
 
-  //printf("\n Code:\n%s\n", code);
+  printf("\n Code:\n%s\n", code);
   
   MEM_freeN(program_node);
 

Modified: branches/soc-2007-maike/source/blender/src/glsl_uniforms.c
===================================================================
--- branches/soc-2007-maike/source/blender/src/glsl_uniforms.c	2007-07-19 14:45:27 UTC (rev 11316)
+++ branches/soc-2007-maike/source/blender/src/glsl_uniforms.c	2007-07-19 16:37:23 UTC (rev 11317)
@@ -198,7 +198,7 @@
   MEM_freeN(amb_fac);
   MEM_freeN(emit);
   MEM_freeN(hard);
-
+ printf("\ngl error material: %d\n", glGetError());
   glUseProgram(0);
 }
 
@@ -284,7 +284,7 @@
 
   glUniform1f(glsl_uniform_location(program, ambexp), amb_exp);
   glUniform1f(glsl_uniform_location(program, ambrange), amb_range);
-    
+
   glUseProgram(0);
 }
 
@@ -365,12 +365,16 @@
   if(mat->mode & MA_RAMP_COL){
     GLSL_ColorBand colorband = material->diff_ramp;
 
-    diff_fac = glsl_string(3, 0, "u_mat_", GINT, index, 0, "_difframp_fac");
+    diff_fac = glsl_string(5, 0, "u_mat_", GINT, index, 0, "_ramp_", GINT, 0, 0, "_fac");
+    printf("\nlocation: %d N%sN\n", glsl_uniform_location(program, diff_fac), diff_fac);
     glUniform1f(glsl_uniform_location(program, diff_fac), mat->rampfac_col);
+
+    printf("\ngl error colorband2: %d - %f\n", glGetError(), mat->rampfac_col);
+
     diff_tex = glsl_string(5, 0, "u_mat_", GINT, index, 0, "_ramp_", GINT, 0, 0, "_tex");
-    glUniform1i(glsl_uniform_location(program, diff_tex), colorband->texid);
-    glActiveTexture(GL_TEXTURE0);
-    glBindTexture(GL_TEXTURE_1D, colorband->texid);
+    glActiveTexture(GL_TEXTURE0 + colorband->texid);printf("\ngl error colorband3: %d\n", glGetError());
+    glBindTexture(GL_TEXTURE_1D, colorband->texid);printf("\ngl error colorband4: %d\n", glGetError());
+    glUniform1i(glsl_uniform_location(program, diff_tex), colorband->texid);printf("\ngl error colorband5: %d\n", glGetError());
     
     printf("\n colband tex id:%d\n", colorband->texid);
     
@@ -384,14 +388,14 @@
     spec_fac = glsl_string(3, 0, "u_mat_", GINT, index, 0, "_specramp_fac");
     glUniform1f(glsl_uniform_location(program, spec_fac), mat->rampfac_spec);
     spec_tex = glsl_string(5, 0, "u_mat_", GINT, index, 0, "_ramp_", GINT, 1, 0, "_tex");
+    glActiveTexture(GL_TEXTURE0 + colorband->texid);
+    glBindTexture(GL_TEXTURE_1D, colorband->texid);
     glUniform1i(glsl_uniform_location(program, spec_tex), colorband->texid);
-    glActiveTexture(GL_TEXTURE1);
-    glBindTexture(GL_TEXTURE_1D, colorband->texid);    
     
     printf("\n colband tex id:%d\n", colorband->texid);
 
     MEM_freeN(spec_fac);
     MEM_freeN(spec_tex);
     printf("\nGLSL Specular Colorband Uniform sent\n");
-  }
+  } printf("\ngl error colorband: %d\n", glGetError());
 }





More information about the Bf-blender-cvs mailing list