嘿, 我创造了C++ 用openGL当我尝试和纹理映射到它改变了一切的颜色我画 如一切对象的游戏继续下去透明的红色或绿色..openGL的纹理映射
glEnable (GL_TEXTURE_2D);
Bitmap image;
image.loadBMP ("Texture.bmp");
glGenTextures(1, &m_TextureID);
glBindTexture (GL_TEXTURE_2D, m_TextureID);
glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE , GL_MODULATE);
glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
gluBuild2DMipmaps (GL_TEXTURE_2D, 3, image.width, image.height, GL_RGB, GL_UNSIGNED_BYTE, image.data);
glEnd();
这是我的质地代码和这里是我如何映射纹理
glBegin(GL_QUADS);
glEnable (GL_TEXTURE_2D);
//glColor3d(1, 0, 0);
glTexCoord2f (0.0f,0.0f);
glVertex3f(0, 0, 0); // bottom left
glTexCoord2f (1.0f,0.0f);
glVertex3f(10, 0, 0); // bottom right
glTexCoord2f (1.0f,1.0f);
glVertex3f(10, 0.6, 0);// top right
glTexCoord2f (0.0f,1.0f);
glVertex3f(0, 0.6, 0); // top left
glEnd();
等等
我所有的非纹理的物体被绘制这样
glBegin(GL_QUADS);//BACK
glColor3d(1,0,0);
glVertex3f(10, 0, 0);
glVertex3f(10, 0, -5.6);
glVertex3f(10, 0.6, -5.6);
glVertex3f(10, 0.6, 0);
glEnd();
等... 我思念的东西真的很明显? 谢谢
好的,谢谢我让它现在工作:) – DK10 2011-04-12 13:30:08