使用XCode 4.4.1我有以下OpenGL代码:
//set the tex params
glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_LINEAR);
我使用此代码段检查OpenGL错误:
GLenum err = glGetError();//THIS IS LIKE THIS BECAUSE OF AN EARLIER ERROR
if (err != GL_NO_ERROR)
{
NSLog(@"glError: 0x%04X", i, err);
}
OpenGL代码产生错误(0x500) - 我正在使用OpenGL ES2.0定位iOS 5.0。
为什么这是一个无效的枚举?
答案 0 :(得分:23)
放大过滤器GL_TEXTURE_MAG_FILTER
不支持mip-mapping,因为这对纹理放大没有意义。它仅支持GL_NEAREST
和GL_LINEAR
。所以只需将此行更改为
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);