我的VS运行静态图,比如画个圆什么的都没问题,可是当画动态图的时候就没有了,结果就是这样的
求大神指教
#include<windows.h>
#include<math.h>
#include<gl/glut.h>
static int day = 200;
void myDisplay()
{
glEnable(GL_DEPTH_TEST); //启动深度测试
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //清空深度缓冲和颜色缓冲
glMatrixMode(GL_PROJECTION); //操作投影矩阵
glLoadIdentity(); //进行变换前通常把当前矩阵设置为单位矩阵
gluPerspective(75, 1, 1, 400000000); //设置可视空间,得到透视效果(可视角,高宽比,最近可视距离,最远可视距离)
glMatrixMode(GL_MODELVIEW); //设置当前操作的矩阵为“模型视图矩阵”
glLoadIdentity(); //把当前矩阵设置为单位矩阵
gluLookAt(0, -200000000, 200000000, 0, 0, 0, 0, 0, 1); //设定观察点位置(观察点位置,目标位置,观察者上方向)
glColor3f(1.0f, 0.0f, 0.0f);
//glRotatef(day/360.0*360.0, 0.0f,0.0f,-1.0f);
glutSolidSphere(69600000, 50, 50);
glColor3f(0.0f, 0.0f, 1.0f);
glRotatef(day, 0.0f, 0.0f, -1.0f);
glTranslatef(150000000, 0.0f, 0.0f);
glutSolidSphere(15945000, 50, 50);
glColor3f(1.0f, 1.0f, 0.0f);
glRotatef(day / 30.0*360.0 - day, 0.0f, 0.0f, -1.0f);
glTranslatef(38000000, 0.0f, 0.0f);
glutSolidSphere(4345000, 50, 50);
glutSwapBuffers();
}
void play()
{
day++;
if (day >= 360)
day = 0;
myDisplay();
Sleep(100);
glutPostRedisplay();
}
int main(int argv, char* argc[])
{
glutInit(&argv, argc);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(400, 400);
glutInitWindowSize(400, 400);
glutCreateWindow("study");
glutDisplayFunc(play);
glutMainLoop();
return 0;
}//< / strong>< / span>