在 JOGL 中,有 addGLEventListener;我为它添加了一个监听器。当调用 display() “callback on gl”时,屏幕以黑色打印,但在四帧后display()
打印一些东西。
如何display()
在第一次回调时打印一些东西display()
?
如果您的应用程序实现了一个接口 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
}