2013-06-12 55 views
5

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

回答

6

不可以。纯粹处理两维时,可以将投影矩阵作为单位矩阵。

8

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

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

根据我的经验,使用默认的[-1,1]系统是非常不现实的。例如:您不想绕z轴旋转以使几何体变形。