glOrtho与gluPerspective比较

    前面写了几篇关于投影的文章,这篇就稍微总结一下吧~~~

    这次就不上那两幅图了,直接说,首先两个都必须配合gluLookAt函数用,不用它,没啥意思。如果在glOrtho里面用它的话,只能改变视景体的位姿,不能改变物体在视觉上的大小,因为是正投影。那么问题就来了,怎么改变大小呢?只能通过glOrtho这个函数改变视景体的大小,如果设置大一点,物体看上去就小一点;如果在gluPerspective用它,也可以改变视视景体的位姿,可以改变在视觉上物体的大小和相对位置,不要问为啥,自己多做实验就知道。需要记住的是视景体的大小跟gluLookAt一毛钱关系都木有的,而视景体的位姿完全是基于视角坐标系的,不要跟世界坐标系扯上关系。所谓视角坐标系,就是在gluLookAt里面的观察点位置,也就是在第一组参数里面的。

    glOrtho的照相机是在视景体内部的,投影面就是相机的镜片,所以投影的时候,视景体前后两个面都要投影,正对观察点那个面先投,背对观察点的面后投;而在gluPerspective中的照相机是在视景体外部的,投影面就是最靠近观察点的面。

    先说那么多,想到再写~~~

你可能感兴趣的:(glOrtho与gluPerspective比较)