m0_46615473 2020-11-23 10:47 采纳率: 100%
浏览 136
已采纳

为什么我的OPENGL代码运行出来只是一个白窗?

小白学习OPENGL,书上的代码写下来在我的电脑上跑出来就是一个白窗,可是不加glBegin和glEnd的时候就能画出来图像,百思不得其解,求助各位大佬。

代码如下,是一个很简单的画一条直线的代码

#include <GL/glut.h>
void init(void)
{
    glClearColor(1.0,1.0,1.0,0.0);//将窗口背景设置为白色
    glMatrixMode(GL_PROJECTION);//设置投影参数
    gluOrtho2D(0.0, 200.0, 0.0, 150.0);//显示窗口以(0,0)为左下角,(200,150)为右上角

}
void lineSegment(void)
{
    glClear(GL_COLOR_BUFFER_BIT);//清空显示窗口
    glColor3f(1.0, 0.0, 0.0); //red line
    glVertex2i(180, 15);
    glVertex2i(10, 145);
    glEnd();
    glFlush();

}
void main(int argc, char** argv)
{
    glutInit(&argc, argv);//初始化glut
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//选择显示模式。
    glutInitWindowPosition(50, 100);
    glutInitWindowSize(400, 300);
    glutCreateWindow("An Example OpenGL Program");
    init();//执行初始化过程
    glutDisplayFunc(lineSegment);//发送图形到显示窗口。
    glutMainLoop();
}
PS:可以帮忙的大佬我愿意给赏金,但我不知道怎么设置,我可以私下给发红包,大家都很忙,谢谢各位大佬!!!!

  • 写回答

1条回答 默认 最新

  • qq_25376897 2020-11-23 11:36
    关注
    #include <GL/glut.h>
    #include <GL/gl.h>
    
    void init(void)
    {
        glClearColor(1.0,1.0,1.0,0.0);//将窗口背景设置为白色
        glMatrixMode(GL_PROJECTION);//设置投影参数
        gluOrtho2D(0.0, 200.0, 0.0, 150.0);//显示窗口以(0,0)为左下角,(200,150)为右上角
    }
    
    void linesegment(void)
    {
        glClear(GL_COLOR_BUFFER_BIT);//清空显示窗口
        glColor3f(1.0, 0.0, 0.0); //red line
        glBegin(GL_LINES);//显示一组线段,其端点坐标在glVertex函数中指定
        glVertex2i(180, 15);
        glVertex2i(10, 145);
        glEnd();
        glFlush();
    }
    
    int main(int argc,char** argv)
    {
        glutInit(&argc, argv);//初始化glut
        glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//选择显示模式。
        glutInitWindowPosition(50, 100);
        glutInitWindowSize(400, 300);
        glutCreateWindow("An Example OpenGL Program");
        init();//执行初始化过程
        glutDisplayFunc(lineSegment);//发送图形到显示窗口。
        glutMainLoop();
        return 0;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)