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

为什么我的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条回答 默认 最新

相关推荐 更多相似问题