我已经开始使用OpenGL并了解了模型,视图和投影矩阵.根据我的理解,仅需要投影矩阵将3D实体投影到2D表面(屏幕)上.所以,如果我想创建一个2D游戏,我甚至需要搞乱投影矩阵?
使用投影矩阵来定义坐标系统仍然很不错.默认情况下,[-1,1]无论分辨率和宽高比如何,都将在x和y 之间定义一个窗口.如果您不使用投影矩阵解决此问题,则必须以其他方式进行补偿.您希望将正方形渲染为正方形,而不是矩形.
根据您的GL版本,您可以调用glOrtho,手动构建或使用glm::ortho.
根据我的经验,在默认[-1,1]系统上工作是非常不切实际的.例如:您不希望绕z轴旋转会使几何体变形.