표면이 생성되기 전에 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;
}
그러나 이러한 결과는 표면을 다시 만들 때마다 다시 호출됩니다. 사용자가 일시 중지하고 다시 시작할 때 이중 개시에서 어떤 재사용이 발생했는지에 따라 오류가 발생합니다. 내 입문 코드를 넣을 장소가 정확히 어디 있는지 알고 싶습니다.
올바른 주소를 반송하지 않습니다. GLES20.glGenTextures (textures.size(), textureHandle, 0); 적절한 핸들러를 반환하지 않습니다. – BlueBug