0
我想用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;
}