gl3w 和 GL 扩展

问题描述

我的目标是 Linux 上的 GL 核心配置文件。当我像这样直接使用系统 GL 标头时:

#include <GL/glcorearb.h>

...然后一切都按预期工作,我也可以使用 GL 扩展,例如glPushGroupMarkerEXT()调用

但是自从我集成了 imgui 后,我不得不经历一个 GL Loader(我无法在没有加载程序的情况下使 imgui 工作。) 所以我遵循了 imgui 示例,现在使用 gl3w

现在我通过 gl3w,我不能再使用那些 GL 扩展:

src/wld.cpp:373:2: error: use of undeclared identifier 'glPushGroupMarkerEXT'

我看了看,但 gl3w 似乎没有像 glew 那样带有单独的扩展标头:glxew.h 文件

这是否意味着如果我使用 gl3w 作为 GL 加载程序,我就不能使用 glPushGroupMarkerEXT()

解决方法

好的,所以它之前没有在自述文件中提到(现在,我创建了一个 pull rq)但是 gl3w 的生成器脚本有一个命令行选项:

gl3w_gen.py --ext

使用 --ext 标志时,扩展将在生成的 GL/glcorearb.h 标头中可用。

与 imgui 存储库打包在一起的 gl3w 是在没有此标志的情况下生成的,因此扩展不可用。