我应该如何解释 glewinfo 的输出?
how should I interpret the output of glewinfo?
运行 glewinfo 有很多信息,但其中一些信息令人困惑而不是有用。
这是我 http://pastebin.com/K5p37w8a
笔记本电脑上的 glewinfo
它告诉我我的 OpenGL 版本是 2.1
,但是当我继续阅读时,有 GL_VERSION_3_0
到 GL_VERSION_4_0
的条目,并且所有条目都说 OK
.但是我不能调用那里列出的任何函数。
其他人用 OK [MISSING]
标记这是所有标记中最令人困惑的,因为它要么存在,要么丢失,但不能同时存在。
glewinfo
程序向您展示了所有存在的入口点(功能),它不会告诉您是否可以使用这些功能,或者这些入口点是否有效。一个函数可能报告正常,但如果调用它,您的程序仍然可能崩溃!要弄清楚有哪些功能可用,您必须查看扩展字符串和版本号。您可以从 glxinfo
获取此信息,您不需要 GLEW。
在这种情况下,您使用的是具有兼容性配置文件(默认配置文件)的 Mesa(OpenGL 实现)。在兼容模式下,Mesa 仅限于 OpenGL 2.1。但是,如果您请求核心配置文件,Mesa 将提供更新的功能并支持更新版本的 OpenGL。仍然使用相同的 Mesa 库,这就是为什么所有 OpenGL 4.0 入口点都可用的原因。
但是,当您将 GLEW 与核心配置文件一起使用时,它会有些损坏。 glewExperimental
"fix" 是对有缺陷的实现的一个糟糕的创可贴。因此,我不推荐 GLEW。 glLoadGen 是一个不错的选择。
运行 glewinfo 有很多信息,但其中一些信息令人困惑而不是有用。
这是我 http://pastebin.com/K5p37w8a
笔记本电脑上的 glewinfo它告诉我我的 OpenGL 版本是 2.1
,但是当我继续阅读时,有 GL_VERSION_3_0
到 GL_VERSION_4_0
的条目,并且所有条目都说 OK
.但是我不能调用那里列出的任何函数。
其他人用 OK [MISSING]
标记这是所有标记中最令人困惑的,因为它要么存在,要么丢失,但不能同时存在。
glewinfo
程序向您展示了所有存在的入口点(功能),它不会告诉您是否可以使用这些功能,或者这些入口点是否有效。一个函数可能报告正常,但如果调用它,您的程序仍然可能崩溃!要弄清楚有哪些功能可用,您必须查看扩展字符串和版本号。您可以从 glxinfo
获取此信息,您不需要 GLEW。
在这种情况下,您使用的是具有兼容性配置文件(默认配置文件)的 Mesa(OpenGL 实现)。在兼容模式下,Mesa 仅限于 OpenGL 2.1。但是,如果您请求核心配置文件,Mesa 将提供更新的功能并支持更新版本的 OpenGL。仍然使用相同的 Mesa 库,这就是为什么所有 OpenGL 4.0 入口点都可用的原因。
但是,当您将 GLEW 与核心配置文件一起使用时,它会有些损坏。 glewExperimental
"fix" 是对有缺陷的实现的一个糟糕的创可贴。因此,我不推荐 GLEW。 glLoadGen 是一个不错的选择。