Glad: 支持仅头文件库生成

创建于 2016-06-01  ·  15评论  ·  资料来源: Dav1dde/glad

是否可以为 GLAD 添加对仅生成头文件的支持? 我的意思是,类似于stb 库

将glad.h 放入项目中并避免管道修改将非常有用。

是我正在处理的示例; 我自己手动创建了 GLAD 头文件。

enhancement glad2

最有用的评论

提醒一下,glad2 分支现在支持仅标题选项!

python -m glad --out-path=build --api="gl:core=" --extensions= c --header-only

所有15条评论

我认为这是一个很棒的点子。 我从来没有真正想把高兴的文件和我的其余代码放在一起,但现在的替代方案有点太复杂了。

我认为简单是高兴的一个特征,使它高于静止(如 GLEW)。 只需导入一个头文件会使它变得更加简单和更好。

但是,我想编译@raysan5制作的整个文件需要一些时间,尤其是当它包含在多个文件中时。 很多时候我只想像为我的头文件声明的 GLuint 一样。 也许免费的glad_types.h会很好。 我个人并不担心很多文件,而是担心.c文件。

@Shimmen ,我正在使用 OpenGL 3.3 核心配置文件高兴版本,最初, glad.h已经是 ~14K LoC,而glad.c是 ~7.6K LoC。 统一后, glad.h是 ~22K LoC,在我的开发工作站中使用 GCC 4.7.2 进行编译大约需要 2-3 秒。

我正在考虑提出拉取请求。 你想让它成为只有一个头文件的选项吗?它应该是默认的吗?

嘿,真棒!

我仍在考虑该选项是否有意义,正如之前指出的那样,头文件会非常大并且会大大减慢编译过程。 我也不确定将头文件拆分为多个头文件是否是个好主意。

再说一次,拥有该选项可能不会有什么坏处,但仅标头选项不会是默认选项。

我使用 web 工具来选择我需要的扩展(基本的 OpenGL 3.3 核心),然后我创建了一个仅头文件; 它大约是 5K LoC,它以毫秒为单位编译(没有任何延迟)。

提醒一下,glad2 分支现在支持仅标题选项!

python -m glad --out-path=build --api="gl:core=" --extensions= c --header-only

现代预处理器非常快,因此当GLAD_IMPLEMENTATION未定义时,几乎不会影响性能。

很棒的补充@Dav1dde! 非常感谢您的更新! :)

有关此功能何时会在网站上发布或将在第 2 版正式发布时发布的任何消息? 谢谢!

我没有预计到达时间。

如果你想玩弄它,glad2 分支应该生成可用的 C 代码。 API 略有变化: gladLoadGL是加载 GL 上下文的唯一方法,它总是需要传递一个加载器函数。

我希望我们能在网站上获得状态更新。 我喜欢网络服务! 我觉得很棒! 仅标题支持将使其完美。 谢谢!

http://glad2.dav1d.de目前托管着glad2 分支,它可以运行但没有固定的API。 Glad2 只支持标题。 如果您发现错误,我很乐意修复它们。

我相信我发现了一些问题:

  1. 标头保护__glad_gl_h_应该在文件末尾关闭,而不仅仅是在glad.h 部分之后
  2. 您应该将所有函数定义为inline否则您将破坏 ODR,即不能多次包含它

谢谢,是的,标题仍然需要一些改进。

@elmindreda指出我(只是为了让我不会忘记): https :

在glad2中工作。

此页面是否有帮助?
0 / 5 - 0 等级