2009-07-07 4 views
0

In JOGL gibt es den addGLEventListener; Ich habe einen Hörer hinzugefügt. Wenn das Display() "Callback auf gl" aufgerufen wird, wird der Bildschirm in Schwarz gedruckt, aber nach vier Frames die display() etwas gedruckt.JOGL vier leere Anfangsrahmen

Wie zu machen display() Drucken Sie etwas auf dem ersten Rückruf display()?

Antwort

1

Wenn Ihre Anwendung eine Schnittstelle GLEventListener implementiert, gibt es immer eine nächste Sequenz:
-init();
-reshape();
-display().

Meiner Meinung nach haben Sie eine falsche Zeichnungsfolge in der Funktionsanzeige().

Versuchen Sie es auf diese Weise:

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 
}