所以我有一个包含所有对象的场景图,并且我必须对所有内容使用我自己的矩阵类(要求,所以不是可选的,学校)。我已经编写了所有数学课,但我不确定如何在代码中准确地实现 Matrix Stack。
我对它的工作原理有理论上的理解。基本上我的场景是单位矩阵,然后我必须使用我使用我的 Matrix 4 类创建的相机矩阵,然后我必须循环遍历场景图和 glMultMatrix 每个级别及其父级。
我认为这是在正确的轨道上,但我以前从未编写过代码,只是研究了它背后的理论。
我在正确的轨道上吗?
它应该看起来这个。
Identity Matrix -> Camera Matrix -> For Each Object Reset back to Identity Matrix -> Camera Matrix -> Generate Matrix from Translate and Quaternion's Multiply that with Identity Matrix -> Camera Matrix。对于每个孩子,从翻译和四元数乘以父母的矩阵生成矩阵
所以基本上我没有 glMatrixMode,只是因为我的场景图而存在的矩阵堆栈。
我希望这是在正确的轨道上。