glTranslatef(-camerax, -cameray,
-cameraz)
glRotatef(camangle, camrotx,
camroty, camrotz)
然后我渲染 从这里开始的对象 pushmatrix& popmatrix命令。
一切正常,翻译和 旋转得很好。直到我试图移动 旋转模型视图中的相机 矩阵。我想翻译一下 相机移动(int自己的 对象空间)。
我将此行添加到onKeyDown中
UP键的方法:glTranslatef(0f,
0f, 1f);
但是使用此命令,凸轮移向模型视图矩阵的-z轴,而不是朝向自己空间的-z轴。
我无法弄清楚如何使对象平移朝向方向。有人可以解释我该如何做。
答案 0 :(得分:1)
所有关于乘法顺序(因为矩阵乘法不是可交换的)。在第2步之前或之后做第4步有很大的不同!一个是屏幕空间,另一个是世界空间。
答案 1 :(得分:0)
posz += (zdif * (float)(Math.cos(Math.toRadians(yrot))));
glTranslatef(0f, 0f, posz);
确实做了必要的翻译。