2009-07-07 4 views
0

JOGL에는 addGLEventListener가 있습니다. 나는 그것에 청취자를 추가했다. display() "callback on gl"이 호출되면 화면이 검은 색으로 인쇄되지만 프레임이 4 개가 지나면 display()이 무엇인가를 인쇄합니다.JOGL 네 개의 빈 초기 프레임

만드는 방법 display() 첫 콜백 display()에 뭔가를 인쇄 하시겠습니까?

답변

1

응용 프로그램에서 인터페이스 GLEventListener를 구현하는 경우 항상 다음 시퀀스가 ​​있습니다.
-init();
-reshape();
-display().

제 생각에는 함수 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 
} 
관련 문제