我环顾四周,从未见过,确定每个矩阵的确切作用以及它们形成的操作(因此实际的特征函数调用)。这就是我要找的。或者至少是对该过程的描述和几个带有特征函数的示例,以大致了解如何做到这一点!无论如何,如果它们有用,这里有一些细节:
我正在设置一个自上而下的透视游戏(因此相机向下固定但可以沿 XY 平面旋转和移动),但由于我将有一些 3D 元素(以及一些严格的 2D 元素)我认为透视投影效果很好。但我确实想知道形成正交投影需要哪些命令......
我有点理解视图,这将通过将相机坐标转换为原点,通过相机旋转旋转,将它们转换回它们所在的位置,然后缩放来完成?但究竟会涉及哪些功能和对象,我不确定。
对于存储任何给定对象的旋转,四元数似乎是最佳选择。那么这会决定模型投影吗?如果我设法将旋转简化为一个角度的 2D 情况,那么四元数会浪费吗?
并且这些矩阵是否都需要从每帧的身份重新生成?还是可以以某种方式对其进行更改以适应新数据?
我真的更喜欢为此使用 eigen 而不是手持库,但我需要一些东西来弄清楚到底发生了什么......我有所有的 GLSL 设置和统一矩阵被输入到渲染中对于我的 VAO,我只需要了解并制作它们。
编辑:
我的顶点着色器使用这个标准设置,将 3 个统一的 mat4 与位置 vec3 相乘:
gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(in_Position, 1.0);
mat3s 和 vec2 是否可以用于定位以在纯 2D 情况下获得更好的性能?