在检查是否支持各向异性过滤时,我会得到相互矛盾的结果.
if(glewIsSupported("GL_EXT_texture_filter_anisotropic") || GLEW_EXT_texture_filter_anisotropic) {
std::cout << "support anisotropic" << std::endl;
}
GLfloat max;
glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &max);
std::cout << max << std::endl;
我机器上此部分的输出是:
16
所以看起来支持16的各向异性过滤,但是glewIsSupported和glew扩展字符串说明相反.
是否检查了GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT并且检查错误,或者是否有不同的情况?
最佳答案 显然有一个
known bug in glew,即使在OpenGL 3上下文中使用glGetString(GL_EXTENSIONS)而不是glGetStringi,它取代了OpenGL 3中的扩展查询.
所以在修补之前,扩展查询必须是done manually.