在JOGL中,有addGLEventListener;我添加了一个听众。
当调用display()“gl on call back”时,屏幕将以黑色打印,但在四帧之后,display()
会打印一些内容。
如何让display()
在第一个回调display()
上打印一些内容?
答案 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
}