I am playing around with auto texcoord generation and it works fine, except when I try to rotate 45 degrees. If I rotate 90 degree increments the texture image looks fine. Any ideas what may be wrong?
Thanks
float texCoord[16] = {1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
glActiveTexture(GL_TEXTURE1);
glTexGenfv(GL_S, GL_OBJECT_PLANE, &texCoord[0]);
glTexGenfv(GL_T, GL_OBJECT_PLANE, &texCoord[4]);
glTexGenfv(GL_R, GL_OBJECT_PLANE, &texCoord[8]);
glTexGenfv(GL_Q, GL_OBJECT_PLANE, &texCoord[12]);
glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
glTexGeni(GL_R, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
glTexGeni(GL_Q, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
glEnable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T);
glEnable(GL_TEXTURE_GEN_R);
glEnable(GL_TEXTURE_GEN_Q);
glMatrixMode(GL_TEXTURE);
glLoadIdentity();
glRotatef(90.0f, 0.0f, 0.0f, 1.0f);
glMatrixMode(GL_MODELVIEW);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, texture[0]);
glBegin(GL_QUADS);
/*glTexCoord2fv(&texCoord[0]);*/ glVertex3f(0.0f, 0.0f, 0.0f);
/*glTexCoord2fv(&texCoord[4]);*/ glVertex3f(1.0f, 0.0f, 0.0f);
/*glTexCoord2fv(&texCoord[8]);*/ glVertex3f(1.0f, 1.0f, 0.0f);
/*glTexCoord2fv(&texCoord[12]);*/ glVertex3f(0.0f, 1.0f, 0.0f);
glEnd();
glMatrixMode(GL_TEXTURE);
glLoadIdentity();
glRotatef(225.0f, 0.0f, 0.0f, 1.0f);
glMatrixMode(GL_MODELVIEW);
glTranslatef(-1.0f, 0.0f, 0.0f);
glBegin(GL_QUADS);
glVertex3f(0.0f, 0.0f, 0.0f);
glVertex3f(1.0f, 0.0f, 0.0f);
glVertex3f(1.0f, 1.0f, 0.0f);
glVertex3f(0.0f, 1.0f, 0.0f);
glEnd();
glDisable(GL_TEXTURE_2D);
glDisable(GL_TEXTURE_GEN_S);
glDisable(GL_TEXTURE_GEN_T);
glDisable(GL_TEXTURE_GEN_R);
glDisable(GL_TEXTURE_GEN_Q);