我注意到如果我在创建表面之前尝试调用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;
}
然而,无论何时重建表面,都会被召回;当用户暂停并恢复时。 其中reuslts在双重启动,因此是一个错误。 我想知道确切地说应该在哪里放置我的启动代码。
答案 0 :(得分:1)