C# 打开框架,围绕对象的轴旋转一组对象

C# 打开框架,围绕对象的轴旋转一组对象,c#,opengl,tao-framework,C#,Opengl,Tao Framework,我正在制作一个3d双轨车和一个轨道。到目前为止,我画了它们,并为它们的运动设置了动画。但是,在开始时,整个轨迹+双轨迹围绕视图旋转。就像我在旋转整个东西一样。后来,我做了一些调整,这样当改变方向时,双车可以绕轴旋转。借助popmatrix和pushmatrix。现在,当我尝试旋转视图时,轨迹和驱动器不会绕着中心轴旋转,而是绕着我的相机旋转。我试图将它们放置在0坐标旋转处并将它们放回原位,但根本不起作用 Gl.glTranslatef(0, 0, -100); G

我正在制作一个3d双轨车和一个轨道。到目前为止,我画了它们,并为它们的运动设置了动画。但是,在开始时,整个轨迹+双轨迹围绕视图旋转。就像我在旋转整个东西一样。后来,我做了一些调整,这样当改变方向时,双车可以绕轴旋转。借助popmatrix和pushmatrix。现在,当我尝试旋转视图时,轨迹和驱动器不会绕着中心轴旋转,而是绕着我的相机旋转。我试图将它们放置在0坐标旋转处并将它们放回原位,但根本不起作用

        Gl.glTranslatef(0, 0, -100);

        Gl.glTranslatef(0, 0, 0);
        Gl.glRotatef(rotate, 0, 1, 0);
        Gl.glTranslatef(0, 0, -100);

在我画任何模型之前,我会用这个。如果我这样做,只有一个模型会旋转

这似乎有效。不知道为什么

Gl.glTranslatef(0, 0, zoom);
Gl.glRotatef(rotate, 0, 1, 0);