C++ 使用OpenGL进行二维建模

C++ 使用OpenGL进行二维建模,c++,opengl,C++,Opengl,我从OpenGL开始,学习了模型、视图和投影矩阵。据我所知,投影矩阵仅用于将3D实体投影到2D曲面(屏幕)上。因此,如果我想创建一个2D游戏,我甚至需要处理投影矩阵吗?否。当纯粹处理二维时,可以将投影矩阵保留为单位矩阵。使用投影矩阵来定义坐标系仍然很好。默认情况下,无论分辨率和纵横比如何,x和y都将在[-1,1]之间定义一个窗口。如果不使用投影矩阵解决此问题,则必须以其他方式进行补偿。您希望将正方形渲染为正方形,而不是矩形 根据您的GL版本,您可以调用glOrtho、手动构造或使用glm::or

我从OpenGL开始,学习了模型、视图和投影矩阵。据我所知,投影矩阵仅用于将3D实体投影到2D曲面(屏幕)上。因此,如果我想创建一个2D游戏,我甚至需要处理投影矩阵吗?

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

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

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

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