opengl32.lib如何在Windows上工作(只是版本1.1)?它实际上是否实现了OpenGL功能?

时间:2018-03-19 20:03:14

标签: c++ opengl

我有点困惑,opengl32.lib库如何工作 - 没有任何大于1.1的opengl版本扩展。 opengl32 lib是否实现了OpenGL 1.1函数,或者只是从图形驱动程序中检索它们作为新的OpenGL函数?如果是,GPU供应商不应该实现OpenGL吗? opengl32 lib是否像实现OpenGL的图形驱动程序一样工作?如果我没有安装图形驱动程序,那么opengl32会工作吗(当然只是基础v.1.1)?感谢。

1 个答案:

答案 0 :(得分:0)

许多年前,那些OpenGL 1.1,opengl32.dll提供了所有需要的gl函数。当更新的版本进入场景时,供应商也实现了标准功能的“扩展”功能。还有一种情况是可以同时安装两个不同的显卡。如果所有这些都应由操作系统处理,那么男人,真是个噩梦!

解决方案是每个供应商提供他的驱动程序,例如Nvidia的nvoglv32.dll。现在opengl32.dll在Windows的系统注册表中查找,如果发现供应商驱动程序加载它并让它处理gl-stuff。如果没有供应商实现,则opengl32.dll处理gl-stuff,但仅适用于OGL 1.1版。

opengl32.lib(不是.dll)是链接器符号存根。它说可执行文件需要opengl32.dll
opengl32.aopengl32.lib相同。 .lib由MS VS提供,.a由MingGW提供。