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 回答