C++ 过量显示桌面的一部分,而不是什么';我的密码里有什么

C++ 过量显示桌面的一部分,而不是什么';我的密码里有什么,c++,glut,C++,Glut,上周,我尝试了一些我在阅读GLUT教程时发现的例子,一切都很好 现在,当我重试这些相同的例子时,我得到了一个奇怪的行为:我的GLUT窗口显示桌面上窗口所在位置的部分(因此,如果GLUT窗口从(100100)开始,大小为500px乘以500px,它显示桌面上从(100100)开始到(600600)结束的部分) 我上周测试的以下示例应该显示黑色背景上的金属丝茶壶。我想知道我的代码是否有问题(因为我不记得在代码中做过任何更改),或者问题是否来自于库没有正确链接,或者是我不知道的其他问题 #includ

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

现在,当我重试这些相同的例子时,我得到了一个奇怪的行为:我的GLUT窗口显示桌面上窗口所在位置的部分(因此,如果GLUT窗口从(100100)开始,大小为500px乘以500px,它显示桌面上从(100100)开始到(600600)结束的部分)

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

#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);
}
#包括
void displayFunc(void);
int窗口;
int main(int argc,字符**argv){
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_SINGLE);
//定义大小
glutInitWindowSize(500500);
//窗口将出现的位置
位置(100100);
glutWindow=glutCreateWindow(“UITest”);
glClearColor(0.0,0.0,0.0,0.0);
glutDisplayFunc(显示函数);
glutMainLoop();
返回退出成功;
}
void displayFunc(void){
glClear(GLU颜色缓冲位);
茶壶(0.5);
}

您需要在
displayFunc()的末尾添加对
glFlush()的调用。
谢谢,它成功了!不过,我不明白为什么没有它它也能用。