我有点困惑opengl32.lib库如何工作-没有大于1.1的opengl版本的任何扩展。
opengl32 lib是实现OpenGL 1.1函数,还是只是从图形驱动程序中检索它们作为新的OpenGL函数?如果是,GPU供应商是否应该实施OpenGL? opengl32 lib是否像实现OpenGL的图形驱动程序一样工作?如果我没有安装图形驱动程序,opengl32是否可以正常工作(当然只是基础v。1.1)?谢谢。
最佳答案
许多年前,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提供。
关于c++ - opengl32.lib如何在Windows(仅1.1版)上运行?它实际上实现了OpenGL功能吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49371475/