阅读更多
剪裁区域既决定显示范围,也决定坐标空间
glOrtho(X1,X2,Y1,Y2,Z1,Z2);
坐标原点是在(X2+X1)/2,(Y2+Y1)/2,(Z2+Z1)/2
三维空间中坐标不在X1,X2,Y1,Y2,Z1,Z2定义的立方体里的部分将被舍掉
在经过glTranslatef,glRotatef等矩阵变换后,坐标系整体发生变化,即空间物体的坐标全部改变,可以用PushMatrix和PopMatrix来保存和恢复坐标状态,用glLoadIdentity来恢复原始坐标系,即glOrtho初始决定的默认坐标空间
OpenGL中的坐标递增方向: X向右增加,Y向上增加,和我们在几何里学习的一致,和Windows的GDI默认的向下增加不同
视口glViewport(0,0,weight,height)
决定图像显示在客户区的哪个地方,客户区的左下角为(0,0),以此为基点,weight为宽,height为高的一个区域
视口的矩形覆盖剪裁区域立方体的正面二维矩形的坐标空间,完全成比例对应.所以,可以实现缩放,即不使用滚动条即可观看希望看到的所有图形范围.缩放,包括X,Y分别缩放由glViewport函数和glOrtho函数共同作用