3.1 变换的四个步骤及其相关的OpenGL函数
Transformation(变换):几何变换,投影变换,裁剪,视口变换
·投影变换→裁剪,在这一过程中,会有一个视锥体,超过视锥体范围的会被裁剪掉
·变换本质上如上一张图:三维→二维
·为什么要有视口变换:和设备相关,不同的屏幕有不同的设置,OpenGL为了更好地跨平台,所以现在虚拟空间进行后进行变换。
·相关的函数:
几何变换:glTranslate()、glRotate()、glScale()
投影:glFrustum()、gluPerspective()、glOrtho()
裁剪:???
视口变换:两类,1.glFrustum()、gluPerspective()、glOrtho()
2.glViewport()
3.2.4模型变换与视点变换
- 模型变换与视点变换
·视点不变,变物体(眼睛不变变物体)
·物体不变,变视点(我动,东西不动)
- glMatrixMode(GL_MODLVIEW)
·Matrix:矩阵 Mode:模式
·OpenGL是用矩阵来实现变换的,甚至将其放到堆栈中来进行管理,他有不同的堆栈管理不同的变换,glMatrixMode(GL_MODLVIEW)是告诉我们,我们要处理的是管理模型变换的堆栈,进行变换之前必须要用这句话。
·模型变换和视点变换其实是一回事,为了方便理解,可以理解为视点总是不动,都是模型变换
- gluLookAt
·void gluLookAt(eyex,y,x,centerx,y,z,upx,y,z),视点的位置、眼睛