opengl 默认坐标为[-1,1]

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); 结果不变

猜你喜欢

转载自blog.csdn.net/qq_23863665/article/details/80315439
今日推荐