啵啵今天有没有学习 2020-06-17 19:16 采纳率: 0%
浏览 512

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;
}

图片说明

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2020-06-18 00:07
    关注
    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?