1

私は最近、最初の GLUT ウィンドウを作成し、白い背景とカメラが見える場所を指定しました。

とにかく、ウィンドウのサイズを変更すると、これらの奇妙な線が表示されます。私のデスクトップ画面の最近の断片がグリッチしてキャプチャされたように見えました. これがimgurの私のスクリーンショットリンクです:

http://i.imgur.com/gSRWnc5.png

写真が少し大きすぎて申し訳ありませんが、その奇妙な不具合が修正されているかどうか疑問に思っていました.

これが私のコードです:

#include <OpenGL/OpenGL.h>
#include <GLUT/GLUT.h>
void display(void) {
    glClearColor(1.0, 1.0, 1.0, 1.0);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();
    gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
    glFlush();
}   

int main (int argc, char **argv) {

    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE);
    glutInitWindowSize(400, 400);
    glutInitWindowPosition(100, 100);
    glutCreateWindow("My First GLUT/OpenGL Window");
    glutDisplayFunc(display);
    glutMainLoop();
    return 0;
}
4

1 に答える 1

1

ビューポートのサイズを変更しないため、奇妙な不具合が発生します。必要なのは、ビューポートのサイズを変更する glViewport を呼び出す glutReshapeFunc のコールバック関数を作成することです。次に、表示関数を再実行するために glutPostRedisplay を呼び出す必要があります。

余談ですが、ディスプレイ関数を常に実行したい場合は、glutDisplayFunc と一緒に glutIdleFunc を使用してください。

乾杯!

于 2013-05-27T05:19:32.460 に答える