如何检测没有上下文的opengl驱动程序版本?

我有一个应用程序不是从某些英特尔HD显卡驱动程序开始的,因为崩溃(在ig4icd32.dll中)可能在我们的3D引擎初始化之前出现,因此显示弹出窗口以请求用户更新其驱动程序的安全方法是在创建OpenGL之前执行此操作。

所以我的问题是如何在窗口创建之前检索驱动程序信息(供应商和版本号)?

PS:它只影响少数几千用户使用具有错误的旧版驱动程序,而最近的驱动程序则没有问题。 该弹出窗口旨在警告用户确保他将更新驱动程序。

更新:我看了一下dxdiag和设备管理器,他们给我的Nvidia卡的驱动程序版本与Nvidia用OpenGL返回的驱动程序版本不匹配


我在这里找到了解决方案,我不得不在查询中使用“Win32_VideoController”而不是“Win32_OperatingSystem”。

这里是我们可以查询的字段列表。

请注意,版本号是我们可以在设备管理器中找到的版本号,并且它不需要将Nvidia或AMD给出的版本号与用户匹配。

PS:通过使用其他API可以更简单地检索相同的数据。

链接地址: http://www.djcxy.com/p/38425.html

上一篇: How to detect opengl driver version without context?

下一篇: Kivy does not detect OpenGL 2.0