1

次のコードは、iOS 4 ではエラーなく動作し、iOS5 では glTexImage2D の後に CHECK_GL_ERROR マクロ 0x500 で出力されます。これに関する情報を検索しましたが、有用なものは見つかりませんでした。

GLuint depthTexId = 0;
glGenTextures(1, &depthTexId);
CHECK_GL_ERROR();
glActiveTexture(GL_TEXTURE0);
CHECK_GL_ERROR();
glBindTexture(GL_TEXTURE_2D, depthTexId);
CHECK_GL_ERROR();
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
CHECK_GL_ERROR();
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
CHECK_GL_ERROR();
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, 512, 512, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, 0);
CHECK_GL_ERROR();

glTexImage2D のパラメータを変更しようとしましたが、成功しません。なぜそれが機能しているのですか?iOS 4 と 5 の違いは何ですか? これを修正する方法は?

4

1 に答える 1

3

GL_UNSIGNED_BYTE を GL_UNSIGNED_INT に置き換えたところ、コードは iOS 4 と iOS 5 の両方で動作し始めました。

于 2012-09-03T14:25:05.280 に答える