[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