我有点困惑,opengl32.lib库如何工作 - 没有任何大于1.1的opengl版本扩展。 opengl32 lib是否实现了OpenGL 1.1函数,或者只是从图形驱动程序中检索它们作为新的OpenGL函数?如果是,GPU供应商不应该实现OpenGL吗? opengl32 lib是否像实现OpenGL的图形驱动程序一样工作?如果我没有安装图形驱动程序,那么opengl32会工作吗(当然只是基础v.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.a
与opengl32.lib
相同。 .lib
由MS VS提供,.a
由MingGW提供。