OpenGL(1)----视图,模型和变换
以前对代码只是知道把这些语句放上,但是其中的作用和意义不甚了解,查了资料,整理:
物理坐标*模型视图矩阵*投影矩阵*透视除法*规范化设备坐标——〉窗口坐标
(1)视图变换函数gluLookAt(0.0,5.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,)设置照相机的位置
把照相机放在(0,0,5),镜头瞄准(0,0,0),朝上向量定为(0,1,0)朝上向量为照相机指定了一个唯一的方向。如果没有调用gluLookAt,照相机就设定一个默认的位置和方向,在默认情况下,照相机位于原点,指向Z轴的负方向,朝上向量为(0,1,0)
glLoadIdentity()函数把当前矩阵设置为单位矩阵。
(2)使用模型变换的目的是设置模型的位置和方向
(3)投影变换,指定投影变换类似于为照相机选择镜头,可以认为这种变换的目的是确定视野,并因此确定哪些物体位于视野之内以及他们能够被看到的程度。
除了考虑视野之外,投影变换确定物体如何投影到屏幕上,OpenGL提供了两种基本类型的投影,1、透视投影:远大近小;2、正投影:不影响相对大小,一般用于建筑和CAD应用程序中
(4)视口变换
视口变换指定一个图象在屏幕上所占的区域
(5)绘制场景