0

在 JOGL 中,有 addGLEventListener;我为它添加了一个监听器。当调用 display() “callback on gl”时,屏幕以黑色打印,但在四帧后display()打印一些东西。

如何display()在第一次回调时打印一些东西display()

4

1 回答 1

1

如果您的应用程序实现了一个接口 GLEventListener,那么总会有一个下一个序列:
—init();
——重塑();
-展示()。

在我看来,您在函数 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 回答