使用OpenGL for 2D

时间:2013-06-12 02:23:17

标签: c++ opengl

我已经开始使用OpenGL并了解了模型,视图和投影矩阵。根据我的理解,仅需要投影矩阵将3D实体投影到2D表面(屏幕)上。因此,如果我想创建一个2D游戏,我甚至需要弄乱投影矩阵吗?

2 个答案:

答案 0 :(得分:8)

使用投影矩阵定义坐标系统仍然很不错。默认情况下,无论分辨率和宽高比如何,都会在[-1,1]之间为x和y定义一个窗口。如果您不使用投影矩阵解决此问题,则必须以其他方式进行补偿。您希望将正方形渲染为正方形,而不是矩形。

根据您的总帐版本,您可以致电glOrtho,手动构建或使用glm::ortho

根据我的经验,处理默认的[-1,1]系统非常不切实际。例如:您不希望绕z轴旋转会使几何体变形。

答案 1 :(得分:6)

没有。当纯粹处理两个维度时,可以将投影矩阵保留为单位矩阵。