5

我从 OpenGL 开始,了解了模型、视图和投影矩阵。据我了解,投影矩阵仅需要将 3D 实体投影到 2D 表面(屏幕)上。所以如果我想创建一个 2D 游戏,我什至需要弄乱投影矩阵吗?

4

2 回答 2

8

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

根据您的 GL 版本,您可以调用glOrtho、手动构建或使用glm::ortho.

以我的经验,在默认[-1,1]系统上工作是非常不切实际的。例如:您不希望围绕 z 轴的旋转使您的几何图形变形。

于 2013-06-12T03:07:10.797 回答
6

不。当纯粹处理二维时,您可以将投影矩阵保留为单位矩阵。

于 2013-06-12T02:31:54.743 回答