我必须在中间制作4个矩形并将它们转换为不同的矩形 位置。 有了这个我所有的歌曲得到第一次翻译我也pushMatrix但没有。 请帮帮我
#include <GL\glut.h>
void display() {
glClearColor(1,1,1,1);
glClear(GL_COLOR_BUFFER_BIT);
glLineWidth(3);
glColor3f(0,0,1);
glBegin(GL_LINES);
glVertex2f(0,-24);
glVertex2f(0,24);
glVertex2f(-32,0);
glVertex2f(32,0);
glEnd();
glTranslatef(-32,-14,0);
glColor3f(1,0,0);
glRecti(0,0,20,10);
glTranslatef(10,5,0);
glColor3f(0,1,0);
glRecti(0,0,20,10);
glFlush();
}
int main(int argc, char** argv){
glutInit(&argc,argv);
glutInitWindowPosition(50,50);
glutInitWindowSize(640,480);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutCreateWindow("Example");
glMatrixMode(GL_PROJECTION);
gluOrtho2D(-32,32,-24,24);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
答案 0 :(得分:0)
这是因为你让GL_PROJECTION处于活动状态:
glMatrixMode(GL_PROJECTION);
gluOrtho2D(-32,32,-24,24);
之后你必须激活模型视图:
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();