I am a beginner in openGl. I am doing very basic thing. Just want to rotate an object about x-axis by 20.0 degrees. But instead of rotating it moves upside.
Can anyone help me where i am doing wrong.
Below is my code,
void drawScene(){
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glColor3f(1.0f, 0.0f, 0.0f);
glPushMatrix();
//glTranslatef(1.0f,0.0f,0.0f);
glRotatef(20.0f,1.0f,0.0f,0.0f);
glBegin(GL_QUADS);
glVertex3f(-0.7f, -0.5f, -5.0f);
glVertex3f(0.7f, -0.5f, -5.0f);
glVertex3f(0.4f, 0.5f, -5.0f);
glVertex3f(-0.4f, 0.5f, -5.0f);
glEnd();
glPopMatrix();
glutSwapBuffers();
}
You can see the effect of your rotation if you center your object on the coordinate axes. In each of your glVertex3f calls, change your Z value from -0.5f to 0.f, and you will see the rotation about the X-axis that you were expecting.