0

上周,我尝试了一些在阅读 GLUT 教程时发现的示例,一切都运行良好。

现在,当我重试这些相同的示例时,我得到了一个奇怪的行为:我的 GLUT 窗口显示了位于窗口所在位置的桌面部分(因此,如果 GLUT 窗口从 (100,100) 开始并且大小为 500 像素 x 500 像素,它显示从 (100,100) 开始到 (600,600) 结束的桌面部分。

我上周测试的以下示例应显示黑色背景上的铁丝茶壶。我想知道我的代码是否有问题(因为我不记得更改其中的任何内容)或者问题是否来自未正确链接的库,或者是否是我不知道的其他问题。

#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);
}
4

1 回答 1

2

您需要glFlush()displayFunc().

于 2012-08-06T05:49:42.147 回答