OpenGL을 사용하여 원을 회전하려고하지만 회전 할 때 원의 절반 만 표시됩니다. 나는 init()
에 뭔가 잘못되었다고 생각합니다. 그는 원의 절반에 가까운 비행기로립니다, 나는 가정,OpenGL을 회전 할 때 객체의 절반 만 보임
float angle = 0.0f;
void display(void)
{
glClearColor(1.0f, 1.0f, 1.0f,1.0f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(0.0, 0.0, 0.0);
glPushMatrix();
//glTranslatef(x, y, 0); // Move circle to desired location.
glRotatef(angle, 0, 0, 1);
drawCircle(10.0, 50.0);
glPopMatrix();
glutSwapBuffers();
}
void timer(int val)
{
angle += 0.5f;
glutTimerFunc(val, timer, val);
glutPostRedisplay();
}
void init()
{
glEnable(GL_DEPTH_TEST);
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-15.0, 15.0, -15.0, 15.0, 0.0, 200);
}
int main(int argc, char **argv)
{
..
glutDisplayFunc(display);
glutTimerFunc(10, timer, 10);
init();
glutMainLoop();
return 0;
}