Opengl的一点小问题啊....显示不出来图像

大二学生啊....这个学期学习了图形学,但老师就是主要讲图形学的算法那些的,没教过opengl,函数什么的都是自己在网上找的文档百科,可是现在图像出不来啊!!就这个框都是黑的!

#include<GL/glut.h>
static int day = 250;
void myDisplay(void) {
    glutSolidSphere(1, 100, 100);
    glEnable(GL_DEPTH_TEST);//启用深度测试,根据坐标的远近自动隐藏被遮住的图形
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);//清除缓冲区
    glMatrixMode(GL_PROJECTION);//矩阵相乘操作,对投影矩阵应用随后的矩阵操作,与glLoadIdentity配合使用
    glLoadIdentity();//重置当前指定的矩阵为单位矩阵.
    gluPerspective(75, 1, 1, 400000000);//指定了观察的视景体在世界坐标系中的具体大小,角度,视景体的宽高比,观察的近处,观察的远处
    glMatrixMode(GL_MODELVIEW);//当前矩阵为模型视图矩阵,模型视图矩阵储存了有关物体的信息
    glLoadIdentity();
    gluLookAt(0,-200000000,200000000,0,0,0,0,0,1);//定义视图矩阵,参数分别是眼睛的位置,眼睛朝向的位置,以及相机朝向的方向

    //创建太阳
    glColor3f(1.0f,1.0f,0.0f);//颜色函数,多次调用只显示最后一次的颜色
    glutSolidSphere(69600000,100,100);//在窗口的中心点绘制一个太阳,(半径,经线,纬线),经纬线数目越多,效果越好

    //绘制地球
    glColor3f(0.0f, 0.0f, 1.0f);
    glRotatef(day/360.0*360.0,0.0f,0.0f,-1.0f);//旋转功能,(角度,x,y,z)
    glTranslatef(150000000,0.0f,0.0f);//平移功能
    glutSolidSphere(159450000, 100, 100);

    //绘制月亮
    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, 100, 100);

    glFlush();//强制刷新缓冲,保证绘图命令将被执行
    glutSwapBuffers();//实现双缓存的重要函数

}
void myIdle(void) {
    ++day;
    if (day > 366) {
        day = 0;
    }
    myDisplay();
}
int main(int argc,char *argv[]) {
    glutInit(&argc, argv);//初始化GLUT函数
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);//图形显示模式,双缓存

    glutInitWindowPosition(100, 100);//窗口位置
    glutInitWindowSize(450, 450);//窗口大小
    glutCreateWindow("宇宙");//窗口名称
    glutDisplayFunc(myDisplay);//窗口的回调函数
    glutIdleFunc(myIdle);//设置空闲回调函数
    glutMainLoop();//进入GLUT事件处理循环,让所有的与“事件”有关的函数调用无限循环
    return 0;
}

图片说明

https://zhidao.baidu.com/question/114744272.html