gpt4 book ai didi

c - KHR 平台标题在做什么?

转载 作者:行者123 更新时间:2023-12-01 11:16:55 24 4
gpt4 key购买 nike

在做一个涉及 OpenGL 的项目时,我很快接触到 GLAD,这是一个加载所有 OpenGL 函数定义和常量的库,这些函数定义和常量在以后的版本中使用,例如 3.3(因为操作系统不关心了)。如果向下滚动到底部,在选项 标题下,您会找到一个名为Omit KHR 的选项。我发现的唯一 OpenGL 教程只是说要确保它已被选中,但我想知道它在做什么。快速查看源代码似乎表明它为诸如整数之类的东西加载了平台一致的定义,但这是正确的吗?这是它的链接:khrplatform.h

不可否认,这实际上是针对 GLFW 的,但如果您想从 GLAD 甚至从 Khronos Group 本身下载它,它们应该是相同的。

最佳答案

Khronos 小组维护着多个行业标准 API:https://www.khronos.org/registry/

为了让事情更简单,Khronos 维护了 khrplatform 头,以供 Khronos 维护的其他头使用,定义通用数据类型、标记和调用约定宏。然而:

Adopters may modify this file to suit their platform. Adopters are encouraged to submit platform specific modifications to the Khronos group so that they can be included in future versions of this file. Please submit changes by filing pull requests or issues on the EGL Registry repository linked above.

具有讽刺意味的是,这使得集成变得更加复杂,因为同一系统中可能有许多 API 和供应商(或“采用者”)。这些修改将如何合并?如何使多个 header 在同一系统中共存?如果某些供应商依赖看起来与原始规范完全相同的标题怎么办?出于这个原因,提供和选项不依赖于 khrplatform header 是有意义的。你不同意吗?

关于c - KHR 平台标题在做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49683210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com