glMatrixMode(GL_TEXTURE);将矩阵变换对应到纹理坐标上,这个时候使用glTranslatef ,glRotatef,glScalef所对应的坐标变化都映射到纹理坐标上,也可以使用glMultiMatrixf,直接进行坐标变换,.
纹理的自动生成
GLfloat s_vector[4] = {1, 0, 0, 0};
GLfloat t_vector[4] = {0, 1, 0, 0};
glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
glTexGenfv(GL_S, GL_OBJECT_PLANE, s_vector);
glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
glTexGenfv(GL_T, GL_OBJECT_PLANE, t_vector);
不需要用glTexCoord,只用glVertex,就可以贴上纹理了