我认为这是一个很棒的点子。 我从来没有真正想把高兴的文件和我的其余代码放在一起,但现在的替代方案有点太复杂了。
我认为简单是高兴的一个特征,使它高于静止(如 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 只支持标题。 如果您发现错误,我很乐意修复它们。
我相信我发现了一些问题:
__glad_gl_h_
应该在文件末尾关闭,而不仅仅是在glad.h 部分之后inline
否则您将破坏 ODR,即不能多次包含它谢谢,是的,标题仍然需要一些改进。
@elmindreda指出我(只是为了让我不会忘记): https :
在glad2中工作。
最有用的评论
提醒一下,glad2 分支现在支持仅标题选项!
python -m glad --out-path=build --api="gl:core=" --extensions= c --header-only