(七)OpenGL 投影方式

OpenGL 投影方式包括正投影(Orthographics Projection)透视投影(perspective Projection)

  • 正投影/平行投影

图中是一个正投影的例子,x、y、z轴范围都是-100至+100.这个视景体将包括所有的几何图形。如果指定了视景体外的几何图形,将被裁减掉。 正投影中,所有在这个空间范围内的所有东西都会被显示在屏幕上,不存在照相机或视点坐标系的概念。 通过调用GLFrustum方法来完成工作。

GLFrustum::SetOrthographic(GLfloat xMin,GLfloat xMax,GLfloat yMin,GLfloat yMax,GLfloat zMin,GLfloat zMax);
复制代码
  • 透视投影

平截头体(frustum):一个金字塔型被截短之后的形状,观察方向是从金字塔尖端到宽阔端,视点与尖端拉开一定距离。

GLFrustum类通过setPerspective ⽅法为我们构建⼀个平截头体。 CLFrustum.SetPerspective(float fFov , float fAspect ,float fNear ,float fFar);
参数:
fFov:垂直方向上的视场角度
fAspect:窗口的宽度与高度的纵横⽐
fNear:近裁剪⾯距离
fFar:远裁剪面距离
纵横比 = 宽(w)/高(h)
复制代码
  • 对比图

分类:
iOS
标签: