次のようなサーフェスが作成される前に 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;
}
ただし、このような結果は、サーフェスが再作成されるたびに呼び出されます。ユーザーが一時停止して再開したときも同様です。この場合、二重開始が発生するため、エラーが発生します。開始コードを配置するのに適した場所を正確に知りたいです。