我已经开始使用OpenGL并了解了模型,视图和投影矩阵。根据我的理解,仅需要投影矩阵将3D实体投影到2D表面(屏幕)上。因此,如果我想创建一个2D游戏,我甚至需要弄乱投影矩阵吗?
答案 0 :(得分:8)
使用投影矩阵定义坐标系统仍然很不错。默认情况下,无论分辨率和宽高比如何,都会在[-1,1]
之间为x和y定义一个窗口。如果您不使用投影矩阵解决此问题,则必须以其他方式进行补偿。您希望将正方形渲染为正方形,而不是矩形。
根据您的总帐版本,您可以致电glOrtho
,手动构建或使用glm::ortho
。
根据我的经验,处理默认的[-1,1]
系统非常不切实际。例如:您不希望绕z轴旋转会使几何体变形。
答案 1 :(得分:6)
没有。当纯粹处理两个维度时,可以将投影矩阵保留为单位矩阵。