JOGL四个空白的初始帧

时间:2009-07-07 21:27:02

标签: frame jogl

在JOGL中,有addGLEventListener;我添加了一个听众。 当调用display()“gl on call back”时,屏幕将以黑色打印,但在四帧之后,display()会打印一些内容。

如何让display()在第一个回调display()上打印一些内容?

1 个答案:

答案 0 :(得分:1)

如果应用程序实现了GLEventListener接口,则总会有下一个序列:
-init();
-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
}