现在,我很难找到有关 OpenGL 标头和扩展以及如何访问最新功能的信息。OpenGL.org 没有涉及任何这些,Mesa(2006 年更新!)或任何人都没有——但我想我不是唯一一个想要理解这一点的人。
我正在使用 Nvidia 驱动程序在 Archlinux 上开发 - 支持 4.2 - 这显然不附带 OpenGL 头文件(无论如何都不是存储库的头文件)。这就是问题和混乱开始的地方。我读到我应该使用 Mesa3D 标头——目前支持 OpenGL 3.0。这是我现在安装的。
现在,我在某处读到核心 OpenGL 4.2 头文件 - gl.h - 仅公开了 OpenGL 1.2 的功能。其余部分(最高 4.2)可通过扩展加载获得——这意味着即使我针对 4.2 进行开发,这些 3.0 标头也可以——我将加载所有 4.2 核心功能作为扩展。
我在其他地方读到 gl.h 标头确实暴露了 4.2 和 3.0 之间的不同功能 - 我无法验证任何东西,因为我发现了很多过时的文章并且没有可靠的信息。
有人能解释一下这一切是如何结合在一起的吗?