[英]glTexImage2D with GL_DEPTH_COMPONENT works on iOS4 , and fails with GL_INVALID_ENUM in iOS 5
以下代码在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有什么区别? 如何解决这个问题?
我用GL_UNSIGNED_INT替换了GL_UNSIGNED_BYTE,代码开始在iOS 4和iOS 5上运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.