Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenGL同时旋转两个角度(glRotate的协商顺序)?_Opengl_Rotation - Fatal编程技术网

OpenGL同时旋转两个角度(glRotate的协商顺序)?

OpenGL同时旋转两个角度(glRotate的协商顺序)?,opengl,rotation,Opengl,Rotation,我正在尝试绕全局轴旋转对象。但是,第一个glRotate调用受第二个glRotate影响(旋转矩阵按相反顺序应用)。因此,即使我希望将对象分别围绕全局x轴和y轴旋转角度1和角度2,但对象的行为方式是,对象围绕全局y轴旋转角度2,而对象围绕局部x轴旋转角度1 glRotate(angle1,1.0f,0.0f,0.0f); glRotate(angle2,0.0f,1.0f,0.0f); draw(..); 如何在不影响另一个全局轴的情况下围绕两个全局轴旋转?您不能。如果应用两个旋转,则一个旋转

我正在尝试绕全局轴旋转对象。但是,第一个glRotate调用受第二个glRotate影响(旋转矩阵按相反顺序应用)。因此,即使我希望将对象分别围绕全局x轴和y轴旋转角度1和角度2,但对象的行为方式是,对象围绕全局y轴旋转角度2,而对象围绕局部x轴旋转角度1

glRotate(angle1,1.0f,0.0f,0.0f);
glRotate(angle2,0.0f,1.0f,0.0f);
draw(..);

如何在不影响另一个全局轴的情况下围绕两个全局轴旋转?

您不能。如果应用两个旋转,则一个旋转相对于另一个旋转。如果改变顺序不能得到你想要的,那么你应该重新考虑你想要达到的目的。@JasonD,我必须生成自己的旋转矩阵并手动应用它吗?不管怎样,你最好这样做,但这不一定能解决你的问题。