0

先週、GLUT チュートリアルを読んでいるときに見つけたいくつかの例を試してみましたが、すべてうまくいきました。

ここで、同じ例を再試行すると、奇妙な動作が得られます: 私の GLUT ウィンドウは、ウィンドウがある場所にあるデスクトップの一部を表示します (したがって、GLUT ウィンドウが (100,100) で始まり、サイズが 500px x 500px の場合、デスクトップの (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 に答える