翻译中的opengles

时间:2011-03-13 18:50:25

标签: opengl-es

  1. 我翻译了模型视图矩阵 致:glTranslatef(-camerax, -cameray, -cameraz)
  2. 将模型视图矩阵旋转到相机旋转 glRotatef(camangle, camrotx, camroty, camrotz)
  3. 然后我渲染 从这里开始的对象 pushmatrix& popmatrix命令。

    一切正常,翻译和 旋转得很好。直到我试图移动 旋转模型视图中的相机 矩阵。我想翻译一下 相机移动(int自己的 对象空间)。

  4. 我将此行添加到onKeyDown中 UP键的方法:glTranslatef(0f, 0f, 1f);

  5. 但是使用此命令,凸轮移向模型视图矩阵的-z轴,而不是朝向自己空间的-z轴。

    我无法弄清楚如何使对象平移朝向方向。有人可以解释我该如何做。

2 个答案:

答案 0 :(得分:1)

所有关于乘法顺序(因为矩阵乘法不是可交换的)。在第2步之前或之后做第4步有很大的不同!一个是屏幕空间,另一个是世界空间。

答案 1 :(得分:0)

posz += (zdif * (float)(Math.cos(Math.toRadians(yrot))));
glTranslatef(0f, 0f, posz);

确实做了必要的翻译。