gpt4 book ai didi

opengl - 获取 OpenGL API 函数

转载 作者:行者123 更新时间:2023-12-01 11:03:34 25 4
gpt4 key购买 nike

我正在查看 OpenGL wiki 页面,我对以下行感到好奇:

For reasons that are ultimately irrelevant to this discussion, you must manually load functions via a platform-specific API call. This boilerplate work is done with various OpenGL loading libraries; these make this process smooth. You are strongly advised to use one. —OpenGL Wiki

直觉上,您会认为它们只会提供一个标题供您包含。那么,这其中的历史原因是什么?

编辑:
感谢您的回答,我现在看到 OpenGL 支持其功能的多种实现,因此没有一个 DLL/SO 每个人都链接到。我还发现这些引用很有帮助:

  • OpenGL 库支持其功能的多种实现。 From MSDN

  • 为了适应这种多样性,我们为某些 GL 操作指定理想行为而不是实际行为。 From GL Spec

  • 当您运行您的程序时,opengl32.dll 将被加载并检查 Windows 注册表是否存在真正的 GL 驱动程序。如果有,它将加载它。例如,ATI 的 GL 驱动程序名称以 atioglxx.dll 开头,NVIDIA 的 GL 驱动程序名称为 nvoglv32.dll。实际名称从发布版本更改 GL FAQ

我还发现英特尔没有为 OpenGL 提供最新的实现,所以即使我有 i7-2500,我也只有 OpenGL 3.0 :(。

最佳答案

这与历史无关。就是这样。

OpenGL 实现大体上来自某种形式的共享库 (DLL/SO)。然而,由于您不拥有 OpenGL“库”,这就变得复杂了;它是您的代码运行的任何平台的系统基础设施的一部分。因此,您甚至不知道您可能在其他人的计算机上使用的是什么特定的 DLL。

因此,为了获得 OpenGL 函数指针,您必须使用现有的基础设施来加载它们。

关于opengl - 获取 OpenGL API 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8395786/

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