坐标的变换过程
而在OpenGL中,通常将模型变换,视图变换合称为ModelView变换。也就是在OpenGL中,这是一部操作,只用调用一个函数即可。下图是OpenGL中的变换过程:
为啥要转换到视图坐标系呢?
可以这样理解,通过前面的MODEVIEW变换,这个世界坐标系中的场景已经绘制好了。这时候我们还不能看到场景哦,因为我们的观察位置还没定呢,而且如果我们眼睛(照相机)的位置不同,那么观察物体的角度则不同,那看到的场景的样子肯定也不同,所以要有这一步,把场景与我们的观察位置对应起来。
默认情况下,眼坐标系与世界坐标系也是重合的。使用函数 gluLookAt()则可以指定眼睛(相机)的位置和眼睛看向的方向。
(从右向左乘)
变换后的坐标 (屏幕坐标)= 视口矩阵 x 投影矩阵 x 视图矩阵 x 模型矩阵 x 模型点坐标(你设置的点坐标)