文章目录
- 一、简介
-
- 1.1投影
- 1.2反投影
- 二、应用代码
- 三、实现效果
- 参考资料
一、简介
在学习OpenGL一段时间之后,我们都会了解坐标的转换过程,如下图所示:
1.1投影
正如图中所述,OpenGL将一个3D坐标投影到一个2D空间主要有以下几个步骤,这也是我们比较熟知的几个步骤:
- 现实局部空间到世界空间。也就是将现实中的物体都转换到一个世界空间中,可以简单的理解为一个游戏空间。
- 世界空间到视图与裁剪空间。这本质上与上面那个过程没啥不同,仅仅是个坐标转换的过程,只不过建立空间的方式有所区别,在这个过程中我们通常会设置视域等约束来进一步限制我们需要看到的实体。
- 裁剪空间到标准化设备空间。之后我们会把一个很大的实体,缩放至一个范围为(-1,1)的立方体盒子中(标准化设备空间),这样做的很多一个原因是为了方便后续的渲染