1
以下代碼在iOS 4上無錯誤地工作,並在iOS5上的glTexImage2D之後在CHECK_GL_ERROR宏0x500中打印。 我搜索了這方面的信息,但沒有找到有用的東西。glTexImage2D與GL_DEPTH_COMPONENT在iOS4上運行,並且在iOS 5中失敗並且GL_INVALID_ENUM失敗
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有什麼區別? 如何解決這個問題?