简单的原始旋转Opengl c

时间:2015-04-09 17:03:24

标签: c opengl

我试图在投影平面中的原始对象的opengl中进行简单的旋转。我想像螺旋桨一样旋转物体,但我似乎无法让它正确。当我运行代码时,我的对象看起来像是缩小了自己(我知道它不是那个,但它旋转有趣)

    void rotateStuff() 
    {
      spin = spin - .5; // inc for spin
      if(spin < 360)
      {
         spin = spin + 360;
      }
      glPushMatrix();
          glTranslatef(150, 95, 0.0);
          glRotatef(spin, 1.0, 0.0, 0.0);
          glTranslatef(-150, -95, 0);
          displayStuff();
      glPopMatrix();

      drawButton();
      glutSwapBuffers();
   }

这是我的对象的片段

glBegin(GL_POLYGON);

    glVertex2i(50, 0);
    glVertex2i(50, 75);

    glVertex2i(150, 75);
    glVertex2i(150, 0);

glEnd(); // end current shape

我觉得我的出身设置有问题但是有什么特别的?我是否正在翻译错误的来源?

1 个答案:

答案 0 :(得分:0)

这是围绕x轴的旋转:glRotatef(spin, 1.0, 0.0, 0.0)

据推测,你希望x-y平面上的东西留在x-y平面上, 所以你想围绕z轴旋转:glRotatef(spin, 0.0, 0.0, 1.0)

相关问题