opengl 窗口 背景

场景:[]OpenGL窗口背景贴图有关问题

[求助]OpenGL窗口背景贴图问题
发现网上很少关于OpenGL背景贴图的资料,大部分都是在一个小多边形上面贴图。自己于是就按照一般纹理贴图的规则来试试在背景贴图。
我本来是想贴一幅图作为程序的背景,而且希望背景图片会随着窗口大小而变化。虽然贴上去的纹理是填充了整个窗口,但是填充整个窗口的背景,只是纹理的一部分而已,也就是说我的纹理放大了很多倍。不知道为什么会这样。
一开始的代码大概是这样的: /*width、height分别是窗口的宽度和高度,一开始大概是600多和400多*/
C/C++ code
    glBegin(GL_QUADS);
        glTexCoord2f(0.0f, 0.0f);glVertex3f(-width / 2,  -height/ 2, -7.0f);
        glTexCoord2f(1.0f, 0.0f);glVertex3f( width/ 2 , -height/ 2,  -7.0f);
        glTexCoord2f(1.0f, 1.0f);glVertex3f( width/ 2,  height/ 2,  -7.0f);
        glTexCoord2f(0.0f, 1.0f);glVertex3f(-width / 2,  height/ 2,  -7.0f);
    glEnd();

后来将代码改为以下的,纹理接近正常....但是这样做又变成了硬编码了,不能随着窗口大小而变化。
C/C++ code
glBegin(GL_QUADS);
        glTexCoord2f(0.0f, 0.0f); glVertex3f(-6.0f,  -6.0f, -6.0f);
        glTexCoord2f(1.0f, 0.0f); glVertex3f( 6.0f , -6.0f,  -6.0f);
        glTexCoord2f(1.0f, 1.0f); glVertex3f( 6.0f,  6.0f,  -6.0f);
        glTexCoord2f(0.0f, 1.0f); glVertex3f(-6.0f, 6.0f,  -6.0f);
    glEnd();
不明白为什么这样贴,纹理大小就为正常,按窗口高度、宽度贴就严重放大?
不明白那个顶点的单位是以什么单位计算?不是说重置矩阵后,屏幕中心就是原点吗?如果按像素为单位的话,以窗口高、宽度做坐标会使纹理严重放大?
而且不明白为什么将顶点坐标改为6.0f这样小的数字,反而不但将窗口填充完整,而且纹理也显示正常

有木有前辈有这方面的经验,请指教一下,谢谢

------解决方案--------------------
Z坐标的原因。。修的大些!!

请问你是怎么做背景加载图片的哪??
------解决方案--------------------
你在窗口大小改变的时候调用
gluOrtho2D