OpenGL中glMatrixMode()函数以及视图变换,模型变换,投影变换,视口变换的理解

  • Post author:
  • Post category:其他



OpenGL中的视图可以利用照相机来进行比拟。产生目标的场景的变过过程类似于相机拍照。此步骤大概分为三个:


1)把相机固定在三角架上,并让它对准场景(视图变换)


2)对场景安排,使得各个物体在招片中的位置是我们所希望的(模型变换)


3)选择照相机的镜头,并调整放大的倍数(投影变换)


4)确定最终照片的大小,放大(视口变换)


完成这些步骤就可以进行场景的绘制了。


在这个过程中,我们可以把场景长中的物体的坐标变换关系表示为如下情况:


物体坐标(顶点)——模型视图矩阵(视觉坐标)——投影矩阵(剪裁坐标)——透视除法(规范化设备坐标)——视口变换(窗口坐标)








视图变换


视图变化相当于对照相机进行操作。首先利用glLoadIdentity()函数对矩阵进行初始化,将当前的矩阵设定为单位矩阵。然后再把它与视图变换矩阵相乘。视图变换矩阵利用函数gluLookAt()函数进行指定。



版权声明:本文为chy19911123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。