我们日常缩看到的屏幕显示设备,都是属于二维的显示设备,尽管有时候我们看到手机上,电视上显示的内容很有立体感,但是事实都是在一个平面上展示的.
OpenGL在将三维的内容显示到屏幕上时,就使用到了一种被称为投影的概念.我们需要指定投影空间,指定在窗口显示的视景体(Viewing Volume).并指定如何对它进行变换.
投影的方式有两种:
正投影也叫平行投影(Orthographics Projection)
正投影,需要指定一个矩形的视景体(窗口). 在视景体(窗口)以外的任何物体都不会被绘制.视景体(窗口)绘制的内容大小与实际物体大小相同.不管它们是否存在远近问题. 正投影比较适合平面图形/2D图形渲染时使用.
透视投影(Perspective Projection)
它在3D开发中更为常见. 同样需要指定视景体的.而这个视景体并不是类似于正方体,看起来像平截体. 透视投影一般会使用于3D图像渲染.因为它会更加逼真.
![](https://img.haomeiwen.com/i1396765/062095381606ef2c.jpg)
设置正投影的方法
//GLFrumstum 类的实例通过
//SetOrthgraphic(GLfloat xMin,GLfloat xMax,GLfloat yMin,GLfloat yMax, GLfloat zMin,GLfloat zMax);
//在渲染平面图形的时候,我们会使用正投影的方式
设置透视的方法
//GLFrumstum 类的实例通过
//SetPerspective(float fFov, float fAspect , float fNear ,float fFar);
//参数1:fFov 垂直方向上的视场角度
//参数2:fAspect 显示窗口的宽/高 (w/h)
//参数3:近裁剪面距离
//参数4:远财经见面的距离
此处不能理解,还需要更多的研究
//在渲染立体图形的时候,我们会使用透视投影;
网友评论