0

JOGL には addGLEventListener があります。それにリスナーを追加しました。display() "callback on gl" が呼び出されると、画面が黒く印刷されますが、4 フレーム後にdisplay()何かが印刷されます。

display()最初のコールバックで何かを印刷する方法はdisplay()?

4

1 に答える 1

1

アプリケーションがインターフェイス GLEventListener を実装する場合、常に次のシーケンスがあり
ます。
—reshape();
-画面()。

私の意見では、関数 display() の描画シーケンスが間違っています。

このようにしてみてください:

public void display(GLAutoDrawable drawable) {
    gl = drawable.getGL();

    gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
    gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);

    gl.glColor3f(1.0f, 1.0f, 1.0f);

    gl.glBegin(GL.GL_POLYGON);
    gl.glVertex2f(-0.5f, -0.5f);
    gl.glVertex2f(-0.5f, 0.5f);
    gl.glVertex2f(0.5f, 0.5f);
    gl.glVertex2f(0.5f, -0.5f);
    gl.glEnd();

    drawable.swapBuffers(); // — it's for double buffering
}
于 2009-10-09T10:19:57.760 に答える