如何在Opengl中独立操作/转换对象?

时间:2016-06-29 17:02:43

标签: opengl transformation

我的Opengl环境中有立方体和球体。这是由

创建的
//Create Cube
glPushMatrix();
glTranslated(-5.0,0.0,0.0);
glDrawCube(7.5f);
glPopMatrix();

//Create Sphere
glPushMatrix();
glTranslated(10.0,0.0,0.0);
glDrawSphereIcosahedron(4.5f,6);    
glPopMatrix();

获得的内容: 立方体和球体已创建。转换/操纵是依赖的。如果我尝试旋转立方体,球体也会随之旋转。

我想要什么 我希望立方体和球体具有彼此独立的变换/操纵。如果我旋转立方体,则球体不应移动/旋转

我尝试了什么 我尝试使用glPushMatrix(),glloadMatrix()与上面的代码,但它仍然有相同的问题。

提前感谢您的时间。

1 个答案:

答案 0 :(得分:2)

如果将glRotate放在glPushMatrix()/ glPopMatrix()对中,则旋转将仅应用于在块内绘制的对象。如果将glRotate放在此对之外,则此旋转将应用于在它们之后绘制的所有对象