2013-06-28 2 views
1

표면이 생성되기 전에 API 호출을 호출하려고하면 다음과 같이 나타납니다.Android OpenGl : API 함수를 호출 할시기?

GLES20.glGenTextures (textures.size(), textureHandle, 0); GLES20.glBindTexture (GLES20.GL_TEXTURE_2D, textureHandle [i]);

그들은 제대로 동작하지 않습니다. 예를 들어 텍스처 핸들러는 항상 0으로 반환됩니다.

그래서 초기화 메소드를 onSurfaceCreated 호출에 배치했습니다.

public void onSurfaceCreated(GL10 arg0, EGLConfig arg1) { 
    if(initiated)return; 
    BitmapLoader.onOpenglGLInitiated(); 
    program.init(); 
    initiated = true; 

} 

그러나 이러한 결과는 표면을 다시 만들 때마다 다시 호출됩니다. 사용자가 일시 중지하고 다시 시작할 때 이중 개시에서 어떤 재사용이 발생했는지에 따라 오류가 발생합니다. 내 입문 코드를 넣을 장소가 정확히 어디 있는지 알고 싶습니다.

답변

1

지금까지 I've 본 무엇을, 정확히 어떤 오류를받을 수 있나요 onSurfaceCreated

Example 6: Texture (Nehe Lesson 6: Texture)

에 텍스처를로드하는 데 매우 편리 오기 '?

+0

올바른 주소를 반송하지 않습니다. GLES20.glGenTextures (textures.size(), textureHandle, 0); 적절한 핸들러를 반환하지 않습니다. – BlueBug

관련 문제