2009-04-13 10 views
1

내 인생을 생각할 수없는 몇 가지 이유 때문에 내 JOGL hello world 프로그램의 텍스트가 전혀 표시되지 않습니다. 나는 당신이 모두 내가 무슨 말을하는지 알 수 있도록 디스플레이 방법을 포함시킬 것이다.왜 내 텍스트가 나타나지 않습니까?

public void display(GLAutoDrawable gLDrawable) 
    { 
     final GL gl = gLDrawable.getGL(); 
     final GLU glu = new GLU(); 
     GLUT glut = new GLUT(); 
     gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); 
     gl.glLoadIdentity(); 
     glu.gluLookAt(0f,0f,0f,0f,0f,-800f,0,1,0); 
     gl.glTranslatef(0.0f,0.0f,5.0f); 
     gl.glColor3f(1f, 1f, 1f); 

     gl.glRasterPos2f(250f,250f); 

     glut.glutBitmapString(GLUT.BITMAP_HELVETICA_18, "Hello World!"); 

     gl.glFlush(); 
    } 

답변

0

내가 JOGL을 사용하지 않은,하지만 C++와 OpenGL을에, 당신이 세척 후에는 GLUT의 버퍼를 교환해야합니다

glutSwapBuffers(); 

이 JOGL에서 이에 해당하는 아마 다음과 같습니다

glut.glutSwapBuffers(); 

gl.glFlush();

+0

API에 따르면 그러한 행운은 없습니다. 스왑 메소드/함수가 전혀 없습니다 : http://download.java.net/media/jogl/builds/nightly/javadoc_public/com/sun/opengl/util/GLUT.html – William

+0

그는 실제로 GLUT 객체를 사용하고 있지 않습니다. 단지 그것을 창조합니다. – DJClayworth

0

나는이 수를 조정하려고

glu.gluLookAt(0f,0f,0f,0f,0f,-800f,0,1,0); 

에서 -800f을 좋아하지 않는다. 아마도 LookAt 메서드 호출 전체를 제거 할 수도 있습니다.

편집 조명 문제 일 수도 있습니다. 광원을 지정하지 않은 것처럼 보이거나 조명을 사용할 수 없었습니다. 어쩌면 텍스트가 표시되지만 단순히 배경처럼 어둡게 보일 수도 있습니다 ...

+0

제거하고 glulookat 수정 시도했지만 여전히 문제가 발생합니다. – William

+0

이 텍스트 전용 문제입니까? 당신이 큐브를 렌더링 할 때 그것을 볼 수 있습니까? –

1

나는 이것에 약간의 개조를 시도했지만 아무 것도 나타나지 않습니다.

gluLookAt 호출은 확실히 나빴습니다 : 카메라를 (0,0,0)에 놓고 z = -800으로 보았지만 z = 0에 텍스트를 놓았습니다. 분명히 아무것도 표시되지 않습니다.

또한 장면을 구성 요소에 매핑하기 위해 일반적으로 수행해야하는 glViewport()를 호출하지 않았 음을 알았습니다.

여기에있는 내용은 거의 확실히 GL 문제이며 JOGL 문제는 아닙니다. OpenGL Programming Guide에서 문제 해결 힌트를 살펴보십시오. 사본이없고 중요한 GL 프로그래밍을 수행 할 예정이라면 얻을 것을 권합니다. 또한 같은 장소에 그려진 다각형으로 텍스트를 대체합니다. 그렇게하면 아무 것도 나타나지 않으므로 텍스트와 관련이없는 매트릭스 문제 일 가능성이 큽니다. 다각형이 나타나면 텍스트로 바꿀 수 있습니다. 한 번에 한 가지 문제를 제거하십시오. 이 질문에 OpenGL 태그를 추가해보십시오. 일부 전문가 OpenGL 프로그래머를 끌기 때문입니다.

관련 문제