最近我在大量使用OpenGL,发现了让OpenGL管理视图/模型/投影矩阵和自己管理它们之间的区别,可以使用自己的矩阵实现或像GLM这样的库。我看到很多大型项目都有自己的相机管理(即管理自己的平移、旋转等)。我可以理解为什么这会有助于确保您对系统拥有完全控制,但除此之外,这似乎是为了微不足道的收益而付出了很多工作。
为什么自己管理比使用内置的OpenGL函数更好?显然,这是在着色器管线的上下文中,而不是固定功能默认情况下。
(这适用于任何3D库)。
为什么自己管理比使用内置的OpenGL函数更好?显然,这是在着色器管线的上下文中,而不是固定功能默认情况下。
(这适用于任何3D库)。
glRotatef(90.0f, 1.0f, 0.0f, 0.0f);
还是 matrix.rotateX(90.0f);
?我总觉得必须每次指定旋转轴非常麻烦!近期的OpenGL规范版本中,由GL管理的矩阵堆栈已被弃用。因此,未来自行管理是唯一的选择。