opengl贴图,该如何处理
opengl贴图
加载贴图
reshap
display
------解决方案--------------------
是不是纹理创建失败了?
加载贴图
glEnable(GL_TEXTURE_2D);
glGenTextures(eTexSize, g_Textures);
// g_images[eBackground].Create(1024, 1024, 24);
glBindTexture(GL_TEXTURE_2D, g_Textures[eBackground]);
g_images[eBackground].Load(L"d://text.bmp", 1);
glTexImage2D(GL_TEXTURE_2D, 0, 0, 1024, 1024, 0, GL_RGB, GL_UNSIGNED_BYTE, g_images[eBackground].GetBits());
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
reshap
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
//gluOrtho2D(9, w, 9, h);
glFrustum(-w/2, w/2, -w/2, w/2, 10, 110);
glMatrixMode(GL_MODELVIEW);
display
贴图大小为1024*1024,但是现实不出来,只能看到glColor3f定义的黄色块,哪里写错了么?
void display(void)
{
glColor3f(1, 1, 0);
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
gluLookAt(0, 0, 2, 0, 0, 0, 0, 1, 0);
//glutSolidTeapot(100);
glBindTexture(GL_TEXTURE_2D, g_Textures[eBackground]);
glBegin(GL_QUADS);
glTexCoord2d(0,0); glVertex3f(-100,-100, -11);
glTexCoord2d(0,1); glVertex3f(-100,100, -11);
glTexCoord2d(1,1); glVertex3f(100,100, -11);
glTexCoord2d(1,0); glVertex3f(100,-100, -11);
glEnd();
glFlush();
return ;
}
------解决方案--------------------
是不是纹理创建失败了?