GLUT显示桌面的一部分而不是我的代码中的内容

时间:2012-08-05 23:22:18

标签: c++ glut

上周,我尝试了一些我在阅读GLUT教程时发现的例子,一切都很顺利。

现在,当我重试那些相同的例子时,我得到一个奇怪的行为:我的GLUT窗口显示窗口所在位置的桌面部分(所以如果GLUT窗口从(100,100)开始并且大小为500px通过500px,它显示从(100,100)开始到(600,600)结束的桌面部分。

我上周测试的以下示例应显示黑色背景上的线茶壶。我想知道我的代码是否有问题(因为我不记得改变其中的任何内容),或者问题来自于图书馆没有正确链接或者它是否是&#39是我不知道的其他东西。

#include <GL/glut.h>

void displayFunc(void);

int glutWindow;

int main(int argc, char** argv){
    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_RGBA | GLUT_SINGLE);

    // define the size
    glutInitWindowSize(500,500);

    // the position where the window will appear
    glutInitWindowPosition(100,100);

    glutWindow = glutCreateWindow("UITest");
    glClearColor(0.0, 0.0, 0.0, 0.0);

    glutDisplayFunc(displayFunc);

    glutMainLoop();

    return EXIT_SUCCESS;
}

void displayFunc(void){
    glClear(GL_COLOR_BUFFER_BIT);

    glutWireTeapot(0.5);
}

1 个答案:

答案 0 :(得分:2)

您需要在glFlush()的末尾添加对displayFunc()的通话。