ok thx to your help and a few search
i did it ^^.
i was using glActiveTextureARB(GL_TEXTUREn_ARB)
in spite of glClientActiveTextureARB(GL_TEXTUREn_ARB)
http://gorre.nerim.net/vbo_env_combine_working_no_lighting.rar
// enabling vertex arrays
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
// go multitexturing !
// T0
glActiveTextureARB(GL_TEXTURE0_ARB);
glBindTexture(GL_TEXTURE_2D, textures[0]);
glEnable(GL_TEXTURE_2D);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
// T1
glActiveTextureARB(GL_TEXTURE1_ARB);
glBindTexture(GL_TEXTURE_2D, textures[1]);
glEnable(GL_TEXTURE_2D);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB);
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB_ARB , GL_INTERPOLATE_ARB);
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB_ARB , GL_PREVIOUS_ARB);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB_ARB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_RGB_ARB , GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB_ARB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE2_RGB_ARB , GL_PRIMARY_COLOR_ARB);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_RGB_ARB, GL_SRC_ALPHA);
for (k=0;k<255;k++)
{
glBindBufferARB(GL_ARRAY_BUFFER_ARB, brucevbo[k].vboaddress); // "vertex buffer object"
glVertexPointer (3, GL_FLOAT, 0, NULL ); //
glBindBufferARB(GL_ARRAY_BUFFER_ARB, brucevbo[k].cboaddress); // "color buffer object"
glColorPointer (4, GL_FLOAT, 0, NULL ); //
glClientActiveTextureARB(GL_TEXTURE0_ARB);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glBindBufferARB(GL_ARRAY_BUFFER_ARB, brucevbo[k].t1boaddress);
glTexCoordPointer(2, GL_FLOAT, 0, NULL ); // "tex coord 1 buffer object"
glClientActiveTextureARB(GL_TEXTURE1_ARB);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glBindBufferARB(GL_ARRAY_BUFFER_ARB, brucevbo[k].t2boaddress);
glTexCoordPointer(2, GL_FLOAT, 0, NULL ); // "tex coord 2 buffer object"
glDrawArrays(GL_TRIANGLE_STRIP, 0, 512);
glClientActiveTextureARB(GL_TEXTURE0_ARB);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glClientActiveTextureARB(GL_TEXTURE1_ARB);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
}
// return to single texturing
glActiveTextureARB(GL_TEXTURE1_ARB);
glDisable(GL_TEXTURE_2D);
glActiveTextureARB(GL_TEXTURE0_ARB);
glEnable(GL_TEXTURE_2D);
// Disabling vertex arrays
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
the blending is ok but i lost the lighting
is there any way to get it back?
P.S.: Glitch, we have a friend in common ^^.
I’m working with Nounours on this project.