opengl 默认的窗口坐标是从 [-1,+1]的,所以当调用glVertex3f()等函数设置的坐标值超过这个范围时将无法显示
glBegin(GL_TRIANGLES);
glVertex3f(0.0,0.0,0.0); // 0 0 0
glVertex3f(2.0,0.0,0.0); // 2 0 0
glVertex3f(1.0,3.0,0.0); // 1 3 0
glEnd();
即:
此时如果在2D情况下 可以使用gluOrtho2D(Gldouble left, Gldouble right, Gldouble bottom, Gldouble top);函数来重新设定,如:
glMatrixMode(GL_PROJECTION);
gluOrtho2D(-3,3,-3,3);
glBegin(GL_TRIANGLES);
glVertex3f(0.0,0.0,0.0); // 0 0 0
glVertex3f(2.0,0.0,0.0); // 2 0 0
glVertex3f(1.0,3.0,0.0); // 1 3 0
glEnd();
则:
同理 使用glOrtho()也可以达到此效果
如 使用glOrtho(-3,3,-3,3,0,100); 结果不变