1、你画图函数是在哪里画的?
2、
glDisable(GL_TEXTURE_2D);
glEnable(GL_COLOR_MATERIAL);
glColor3d(1.0, 0.0, 0.0, 0.0f);
glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);
glBegin(GL_QUADS);
glVertex3f(0.5, 0.5, 0.0);
glVertex3f(-0.5, 0.5,0.0);
glVertex3f(-0.5, -0.5, 0.0);
glVertex3f(0.5, -0.5, 0.0);
glEnd();
glBegin(GL_QUADS);
glColor3f(1.0,0.0,0.0);
glVertex3f(0.5, 0.5, 0.0);
glVertex3f(-0.5, 0.5,0.0);
glVertex3f(-0.5, -0.5, 0.0);
glVertex3f(0.5, -0.5, 0.0);
glEnd();
2、
glDisable(GL_TEXTURE_2D);
glEnable(GL_COLOR_MATERIAL);
glColor3d(1.0, 0.0, 0.0, 0.0f);
glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);
glBegin(GL_QUADS);
glVertex3f(0.5, 0.5, 0.0);
glVertex3f(-0.5, 0.5,0.0);
glVertex3f(-0.5, -0.5, 0.0);
glVertex3f(0.5, -0.5, 0.0);
glEnd();
glBegin(GL_QUADS);
glColor3f(1.0,0.0,0.0);
glVertex3f(0.5, 0.5, 0.0);
glVertex3f(-0.5, 0.5,0.0);
glVertex3f(-0.5, -0.5, 0.0);
glVertex3f(0.5, -0.5, 0.0);
glEnd();
而你的程序中所有四边形的Z坐标都在原点上(都是0.0),等于刚好把两个四边形都叠放在屏幕上,你如何看得到四边形?建议把四边形往屏幕里推一点,比如都设成-2.0:
glDisable(GL_TEXTURE_2D);
glEnable(GL_COLOR_MATERIAL);
glColor3d(1.0, 0.0, 0.0, 0.0f);
glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);
glBegin(GL_QUADS);
glVertex3f(0.5, 0.5, -2.0);
glVertex3f(-0.5, 0.5, -2.0);
glVertex3f(-0.5, -0.5, -2.0);
glVertex3f(0.5, -0.5, -2.0);
glEnd();
glBegin(GL_QUADS);
glColor3f(1.0,0.0,0.0);
glVertex3f(0.5, 0.5, -2.0);
glVertex3f(-0.5, 0.5, -2.0);
glVertex3f(-0.5, -0.5, -2.0);
glVertex3f(0.5, -0.5, -2.0);
glEnd();