Opengl es opengles中的翻译 我翻译modelview矩阵 至:glTranslatef(-camerax,-cameray, -cameraz) 将模型视图矩阵旋转到摄影机旋转 glRotatef(凸轮角度、凸轮旋转、, 卡姆罗蒂,卡姆罗茨)

Opengl es opengles中的翻译 我翻译modelview矩阵 至:glTranslatef(-camerax,-cameray, -cameraz) 将模型视图矩阵旋转到摄影机旋转 glRotatef(凸轮角度、凸轮旋转、, 卡姆罗蒂,卡姆罗茨),opengl-es,Opengl Es,然后我渲染 从这里开始的对象 pushmatrix和popmatrix命令 一切工作,翻译和 旋转良好。直到我尝试移动 旋转模型视图中的摄影机 矩阵。我想翻译这篇文章 摄影机移向自己的(int) 对象空间) 我在onKeyDown中添加了这一行 向上键的方法:glTranslatef(0f, 0f、1f) 但使用此命令,凸轮将朝modelview矩阵的-z轴移动,而不是朝其自身空间的-z轴移动 我不知道如何使物体朝着自己的方向移动。谁能给我解释一下该怎么做。这都是关于乘法顺序的(因为矩阵乘法是不

然后我渲染 从这里开始的对象 pushmatrix和popmatrix命令

一切工作,翻译和 旋转良好。直到我尝试移动 旋转模型视图中的摄影机 矩阵。我想翻译这篇文章 摄影机移向自己的(int) 对象空间)

  • 我在onKeyDown中添加了这一行 向上键的方法:
    glTranslatef(0f,
    0f、1f)

  • 但使用此命令,凸轮将朝modelview矩阵的-z轴移动,而不是朝其自身空间的-z轴移动


    我不知道如何使物体朝着自己的方向移动。谁能给我解释一下该怎么做。

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

    posz += (zdif * (float)(Math.cos(Math.toRadians(yrot))));
    glTranslatef(0f, 0f, posz);
    
    做了必要的翻译。

    posz+=(zdif*(float)(Math.cos(Math.toRadians(yrot));glTranslatef(0f,0f,posz)成功了。无论如何,谢谢你的帮助。