我该如何解释glewinfo的输出?

时间:2016-04-08 22:01:29

标签: opengl glew

运行glewinfo有很多信息,但有些信息比帮助更令人困惑。

这是我的笔记本电脑中的glewinfo http://pastebin.com/K5p37w8a

它告诉我我的OpenGL版本是2.1,但是当我继续阅读时,GL_VERSION_3_0的条目最多为GL_VERSION_4_0,并且所有条目都说OK。但我无法调用那里列出的任何功能。

其他人正在使用OK [MISSING]进行标记这是最令人困惑的,因为无论是在那里,还是在缺失,但它不能同时存在。

1 个答案:

答案 0 :(得分:1)

glewinfo程序会显示所有存在的入口点(函数),它不会告诉您是否可以使用这些入口点,或者这些入口点是否有效。一个函数可以报告为OK,但是如果你调用它,你的程序仍然会崩溃!要确定哪些功能可用,您必须查看扩展字符串和版本号。您可以从glxinfo获取此信息,您不需要GLEW。

在这种情况下,您正在使用具有兼容性配置文件(默认配置文件)的Mesa(OpenGL实现)。在兼容模式下,Mesa仅限于OpenGL 2.1。但是,如果您请求核心配置文件,Mesa将提供更新的功能并支持更新版本的OpenGL。仍然使用相同的Mesa库,这就是所有OpenGL 4.0入口点都可用的原因。

但是,当您将核心配置文件与GLEW一起使用时,GLEW会有所破坏。对于有缺陷的实施,glewExperimental“修复”是一个糟糕的创可贴。因此,我不推荐使用GLEW。 glLoadGen是一个不错的选择。