9

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

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

4

1 回答 1

27

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

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
于 2012-09-07T13:19:57.533 回答