一个关于纹理显示的问题。。。高手进
我采用纹理重复和自动生成纹理坐标对一些多边形贴纹理。程序在我的机器上运行没有问题,而且效果很好,但是在别人的机器上显示效果就出问题了。。。不知道是怎么回事,请高手赐教。部分代码如下:
glGenTextures(1, &m_uBkgAreaTexture[i]);
glBindTexture(GL_TEXTURE_2D, m_uBkgAreaTexture[i]);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
glTexImage2D(GL_TEXTURE_2D, 0, components, sizeX, sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE,data);
GLfloat colorstrip_x[] = {1000.0, 0.0, 0.0, 0.0};
GLfloat colorstrip_y[] = {0.0, 1000.0, 0.0, 0.0};
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, m_uBkgAreaTexture);
glEnable(GL_TEXTURE_GEN_S);
glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
glTexGenfv(GL_S, GL_OBJECT_PLANE, colorstrip_x);
glEnable(GL_TEXTURE_GEN_T);
glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
glTexGenfv(GL_T, GL_OBJECT_PLANE, colorstrip_y);
glBegin(GL_POLYGON);
for(i = 0 ; i < iPointNum ; i++)
{
glVertex3f(dx , dy , 0.0);
}
glEnd();