我想用不同的旋转连续旋转两个球体。 我的代码目前似乎没有旋转。 这是我的代码:
void renderScene(void) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslated(0.0,1.2,-6);
glRotatef(angle,0,1.2,-6);
glutSolidSphere(1,50,50);
glPopMatrix();
glPushMatrix();
glTranslatef(0.0,-1.5,-6);
glRotatef(angle,0,1.5,-6);
glutSolidSphere(0.4,50,50);
glPopMatrix();
angle=+0.1;
glutSwapBuffers();
}
有没有我没有添加的内容? 我到处尝试过旋转,它似乎只在push和pop矩阵之外工作,这不是我想要的。
答案 0 :(得分:2)
angle=+0.1; // assign the value +0.1 to angle
你的意思是:
angle += 0.1; // increment angle by 0.1
答案 1 :(得分:0)
glutSolidSphere
在原点周围绘制一个球体:(0,0,0)。 glRotatef
也围绕穿过原点的轴旋转。现在,您可能应该知道,围绕其中心旋转球体根本不会改变球体的外观。
你应该做的是先旋转然后然后翻译。像这样:
glPushMatrix();
glRotatef(angle,0,1.2,-6);
glTranslated(0.0,1.2,-6);
glutSolidSphere(1,50,50);
glPopMatrix();