1

我注意到,如果我尝试在创建表面之前调用 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;

}

然而,每当重新创建表面时,这样的结果就会被召回;当用户暂停和恢复时。其中导致双重启动,因此出现错误。我想知道哪里应该是放置我的启动代码的更好地方。

4

1 回答 1

1

到目前为止,我所看到的,在其中加载纹理非常方便onSurfaceCreated

示例 6:纹理(Nehe 第 6 课:纹理)

你到底得到了哪些错误?

于 2013-06-29T23:39:19.967 回答