opengl - 什么是OpenGL扩展库,加载库,绑定库?

  显示原文与译文双语对照的内容
0 0

什么是OpenGL扩展库,加载库插件,绑定库

他们为什么需要?

你能用通俗易懂的术语解释?

时间:原作者:2个回答

0 0

第一件事要理解的是,OpenGL只是一套与GPU交互的方法规范。 如果你在 Windows 或者linux上,你的GPU供应商将提供一个带有该规范实现的驱动程序。 如果你在OSX上,则implemetation将随你的操作系统一起传送。

要使用 OpenGL,需要一个 OpenGL上下文 。 它本质上是一些内存,将保持OpenGL内部状态机的当前状态。 要创建这种上下文,你应该使用像 glfw 或者 freeglut这样的

然后你需要访问OpenGL方法。 在 Windows 上,只有 opengl32.dll​ 库提供对遗留 OpenGL1.1的访问 ! 如果要使用现代 OpenGL,则需要获取由驱动程序公开的函数的指针。 这里有几个加载库的 我认为最常见的是 glew 。

OpenGL允许GPU厂商为规范提供定制的扩展。 你可以用与普通OpenGL函数相同的方法来检索这些函数。 同样,我将使用 glew,它也是一个收费库 。

然后你需要一个头来拥有所有这些函数的Prototype 。 但glew也能处理。

原作者:
0 0

针对特定操作系统定义的每个OpenGL支持,仅定义了一个非常特殊的子集或者版本,这是一个严格的。 对于 Windows 来说,它是 opengl-1,1 是 Linux,当特定版本的操作系统启动时,的版本会出现在OpenGL版本中;。

除了在 OS cmmi规范中被锁定的版本外,没有必要使用程序。 也就是说,在 Windows 上运行的程序可能不希望看到除了 OpenGL-1.1 之外的任何其他内容。 或者Linux上的OpenGL-1.2.超出这些版本的任何内容都是可选的,必须在运行时检查可用性,并且必须在运行时动态解析所有函数入口点。

OpenGL加载程序可以精确执行以下操作: 它们确实支持的OpenGL版本配置文件,并且在发现初始化之后,不支持实际可以用的符号。

原作者:
...