void display(void)
{
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION); //定义一个可视空间,其以外的物体不会绘制,实现近大远小的功能
glLoadIdentity();
gluPerspective(75, 1, 1, 1400000000);
glMatrixMode(GL_MODELVIEW); //进行变换前,需要把矩阵设为“模型视图矩阵”
glLoadIdentity();
gluLookAt(0, -200000000, 200000000, 0, 0, 0, 0, 0, 1);
glColor3f(1.0f, 0.0f, 0.0f); //红色太阳
glutSolidSphere(69600000, 20, 20);
glColor3f(0.0f, 0.0f, 1.0f); //蓝色地球
glRotatef(day / 360.0*360.0, 0.0f, 0.0f, -1.0f);
glTranslatef(150000000, 0.0f, 0.0f);
glutSolidSphere(15945000, 20, 20);
glColor3f(1.0f, 1.0f, 0.0f); //黄色月亮
glRotatef(day / 30.0*360.0 -day / 360.0*360.0, 0.0f, 0.0f, -1.0f);
glTranslatef(38000000, 0.0f, 0.0f);
glutSolidSphere(4345000, 20, 20);
glFlush();
{
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION); //定义一个可视空间,其以外的物体不会绘制,实现近大远小的功能
glLoadIdentity();
gluPerspective(75, 1, 1, 1400000000);
glMatrixMode(GL_MODELVIEW); //进行变换前,需要把矩阵设为“模型视图矩阵”
glLoadIdentity();
gluLookAt(0, -200000000, 200000000, 0, 0, 0, 0, 0, 1);
glColor3f(1.0f, 0.0f, 0.0f); //红色太阳
glutSolidSphere(69600000, 20, 20);
glColor3f(0.0f, 0.0f, 1.0f); //蓝色地球
glRotatef(day / 360.0*360.0, 0.0f, 0.0f, -1.0f);
glTranslatef(150000000, 0.0f, 0.0f);
glutSolidSphere(15945000, 20, 20);
glColor3f(1.0f, 1.0f, 0.0f); //黄色月亮
glRotatef(day / 30.0*360.0 -day / 360.0*360.0, 0.0f, 0.0f, -1.0f);
glTranslatef(38000000, 0.0f, 0.0f);
glutSolidSphere(4345000, 20, 20);
glFlush();
}