I want to make a simple multitexture program. I want to apply a “lightmap” to a poly, then multiply by the “base texture” (creating a “shadow of the light” map accross the base texture). Then I draw my model. I then do another pass to “add” the same lightmap to the scene. (Which should create a specular effect on the scene). But I only get the First “lightmap” to apply along with the “base texture”. So i do get a shadowy effect, but NO specular.
CODE HERE:
void Render(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH BUFFER_BIT);
glDisable(GL_BLEND);
glDisable(GL_LIGHTING);
glActiveTextureARB(GL_TEXTURE0_ARB);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, LightMap);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_EXT);
glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB_EXT, GL_REPLACE);
glActiveTextureARB(GL_TEXTURE1_ARB);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, BaseMap);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, &Verts);
glClientActiveTexture(GL_TEXTURE0_ARB);
glTexCoordPointer(2, GL_FLOAT, 0, &TextureVerts);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glClientActiveTexture(GL_TEXTURE1_ARB);
glTexCoordPointer(2, GL_FLOAT, 0, &TextureVerts);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
//Draw the first pass
glDrawArrays(GL_TRIANGLES, 0, count);
glEnable(GL_BLEND);
//Reset up texture info
glActiveTextureARB(GL_TEXTURE1_ARB);
glDisable(GL_TEXTURE_2D);
glActiveTextureARB(GL_TEXTURE0_ARB);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, LightMap);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_EXT);
glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB_EXT, GL_REPLACE);
glBlendFunc(GL_ONE, GL_ONE);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, &Verts);
glClientActiveTexture(GL_TEXTURE0_ARB);
glTexCoordPointer(2, GL_FLOAT, 0, &TextureVerts);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
//draw the second pass
glDrawArrays(GL_TRIANGLES, 0, count);
glutPostRedisplay();
glutSwapBuffers();
}
Anyone see what I could be doign wrong??
[This message has been edited by dabeav (edited 07-09-2002).]
[This message has been edited by dabeav (edited 07-09-2002).]