繁体   English   中英

为什么GL_LINEAR_MIPMAP_LINEAR会出现INVALID_ENUM错误?

[英]Why does GL_LINEAR_MIPMAP_LINEAR give an INVALID_ENUM error?

使用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。

为什么这是一个无效的枚举?

放大过滤器GL_TEXTURE_MAG_FILTER不支持mip-mapping,因为这对纹理放大没有意义。 它只支持GL_NEARESTGL_LINEAR 所以只需将此行更改为

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM