我怎样才能在opengl中旋转我的对象

时间:2012-03-14 10:11:17

标签: c++ opengl rotation

我旋转我的物体,即一个三角形。但我的物体的中心在移动。

      //background draw
DrawScreen();
glPushMatrix();

glTranslatef(xgotur,ygotur,zgotur);
glRotatef(derece,0.0,0.0,1.0);

      // drawing my object
glBegin(GL_POLYGON);
    glColor3d(0.2, 0.5, 0.7);
    glVertex2f(-0.1+aralik_bosluk, 0.0+aralik_bosluk);
    glVertex2f(0.0+aralik_bosluk,0.4+aralik_bosluk);
    glVertex2f(0.1+aralik_bosluk, 0.0+aralik_bosluk);
glEnd();    
      // finish draw
glPopMatrix();   

1 个答案:

答案 0 :(得分:6)

当您使用glRotate()旋转对象时,它将围绕World Origin而不是对象的原点旋转。

您应该在此处查看一个关于如何围绕本地原点旋转对象的好例子:

Rotation Local Origin