将OPENGL绘制对象的过程类比为摄像机拍摄物体的过程
视图变换:对摄像机位置与朝向(还有朝上朝下)进行定义
模型变换:对物体的位置,旋转,缩放进行定义
以上是对摄像机和物体的两个基础定义
投影:对摄像机的拍摄进行调节
正投影:
glOrtho(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,GLdouble near,GLdouble far)
一个六个面均为矩形的六面体
透视投影
同一物体,近处大,远处小
gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear,GLdouble zFar)
fovy为如图所示角度,znear为近裁剪面z坐标值,zfar为远处裁剪面z坐标值,aspect值为
如图所示矩形的宽度与高度纵横比
由于对摄像机和物体的修改具有对偶性
对摄像机或者物体的其他几种修改:
对摄像机的位置和朝向(以及朝上或朝下)进行修改
gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez,GLdouble atx,GLdouble aty,GLdouble atx,GLdouble upx,GLdouble upy,GLdouble upz)
朝上或朝下一般为(0,1,0)或者对象坐标系中的y轴方向
另外,对模型视图矩阵的修改(即对物体或者摄像机进行位移或旋转或缩放)的修改参见OPENGL之矩阵博客