2009-07-07 3 views
0

JOGLには、addGLEventListenerがあります。私はそれにリスナーを加えました。 display() "callback on gl"を呼び出すと、画面は黒で印刷されますが、4フレーム後にdisplay()が何かを印刷します。JOGL 4つの空白の初期フレーム

初めてのコールバックdisplay()display()が印刷されますか?

答えて

1

アプリケーションでインターフェイスGLEventListenerが実装されている場合、常に次のシーケンスがあります。
-init();
-reshape();
-display()。

私の意見では、関数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 
} 
関連する問題