在处理涉及OpenGL的项目时,我很快遇到了GLAD,它是一个加载所有OpenGL函数定义和常量的库,在后来的版本中使用,例如3.3(因为操作系统没有'不再关心)。如果向下滚动到底部,在选项标题下,您将找到名为 Omit KHR 的选项。我发现的唯一的OpenGL教程只是说要确保检查它,但我想知道它在做什么。快速查看源代码似乎表明它为整数这样的东西加载了平台一致的定义,但这是正确的吗?这是指向它的链接:https://www.odoo.com/documentation/8.0/setup/install.html
不可否认,这实际上是针对GLFW的,但如果您想从GLAD甚至Khronos集团本身下载,它们应该是相同的。
答案 0 :(得分:4)
Khronos小组维护了几个行业标准API:https://www.khronos.org/registry/
为了简单起见,Khronos维护khrplatform标头,供Khronos维护的其他标头使用,定义公共数据类型,标记和调用约定宏。但是:
采用者可以修改此文件以适合他们的平台。采纳者是 鼓励对Khronos提交平台特定的修改 组,以便它们可以包含在此文件的未来版本中。 请通过在EGL上提交拉动请求或问题来提交更改 上面链接的注册表存储库。
具有讽刺意味的是,由于在同一系统中可能有许多API和供应商(或“采用者”),因此集成起来要复杂一些。这些修改将如何合并?如何使多个标题在同一系统中共存?如果某个供应商依赖标题看起来像原始规格一样,该怎么办?因此,提供和选择不依赖于khrplatform标头是有道理的。你不同意吗?