在OpenGL中有两个比较重要的投影变换函数,glViewport和glOrtho。
glOrtho是创建一个正交平行的视景体。 一般用于物体不会因为离屏幕的远近而产生大小的变换的情况。比如,常用的工程中的制图等。需要比较精确的显示。 而作为它的对立情况, glFrustum则产生一个透视投影。这是一种模拟真是生活中,人们视野观测物体的真实情况。例如:观察两条平行的火车到,在过了很远之后,这两条铁轨是会相交于一处的。还有,离眼睛近的物体看起来大一些,远的物体看起来小一些。
glOrtho(left, right, bottom, top, near, far) 把opengl坐标系映射成另一个坐标系,opengl坐标系x,y方向范围都是是-1——1,
glOrtho(0, 200, 0, 100, 100, -100) 这样调用了这个函数之后 坐标系变成了: x方向范围0——200,y方向范围0——100。
glViewport主要负责把上面视景体截取的图像按照怎样的高和宽显示到屏幕上。