Hi,
I have looked at many different posts here, and cannot see what i am doing different. I have tried using each of the two textures as the first texture unit, so I know the textures are loaded fine because they display. But with 2 active textures, it always only shows the first texture.
The images are black with the first image having a red line only the left half, and the second image having a green line only on the right half.
I am just doing a test to see if i can add the 2 images together so that it the final result has a black background with a half red/half green line.
void TestObject::Draw()
{
glDisable(GL_LIGHTING);
glColor4f(0.f,0.f,1.f,0.5f);
glActiveTexture(GL_TEXTURE0);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, m_poTex0->GetTID());
glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_REPLACE);
glActiveTexture(GL_TEXTURE1);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, m_poTex1->GetTID());
glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_COMBINE);
glTexEnvi(GL_TEXTURE_ENV,GL_COMBINE_RGB,GL_ADD);
glTexEnvi(GL_TEXTURE_ENV,GL_SOURCE0_RGB,GL_PREVIOUS);
glTexEnvi(GL_TEXTURE_ENV,GL_OPERAND0_RGB,GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV,GL_SOURCE1_RGB,GL_TEXTURE1);
glTexEnvi(GL_TEXTURE_ENV,GL_OPERAND1_RGB,GL_SRC_COLOR);
glBegin(GL_QUADS);
glMultiTexCoord2f(GL_TEXTURE0,0.f,0.f);
glMultiTexCoord2f(GL_TEXTURE1,0.f,0.f);
glColor4f(1.f,1.f,1.f,0.5f);
glVertex3f(-50.f,-50.f,0.f);
glMultiTexCoord2f(GL_TEXTURE0,1.f,0.f);
glMultiTexCoord2f(GL_TEXTURE1,1.f,0.f);
glColor4f(1.f,1.f,1.f,0.5f);
glVertex3f(50.f,-50.f,0.f);
glMultiTexCoord2f(GL_TEXTURE0,1.f,1.f);
glMultiTexCoord2f(GL_TEXTURE1,1.f,1.f);
glColor4f(1.f,1.f,1.f,0.5f);
glVertex3f(50.f,50.f,0.f);
glMultiTexCoord2f(GL_TEXTURE0,0.f,1.f);
glMultiTexCoord2f(GL_TEXTURE1,0.f,1.f);
glColor4f(1.f,1.f,1.f,0.5f);
glVertex3f(-50.f,50.f,0.f);
glEnd();
glActiveTexture(GL_TEXTURE1);
glDisable(GL_TEXTURE_2D);
glActiveTexture(GL_TEXTURE0);
glDisable(GL_TEXTURE_2D);
GLenum err = glGetError();
const GLubyte* mess = gluErrorString(err);
}
Thanks,
jeremy