使用 EGL 1.4 查询 OpenGL32.dll 版本问题

Posted

技术标签:

【中文标题】使用 EGL 1.4 查询 OpenGL32.dll 版本问题【英文标题】:inquiry about OpenGL32.dll version's issue using EGL 1.4 【发布时间】:2015-09-24 10:21:43 【问题描述】:

我是 Windows 系统上的 C++ 应用程序开发人员。我正在使用 EGL 1.4 和 OpenGL ES 2.0 开发一个应用程序。

在某个OpenGL32.DLL版本中,我发现出现了PVR错误信息。导致此问题的 OpenGL32.DLL 版本是 Win8.1 上的 6.3.9600.16384 和 4.0.1379.1。消息说:

PVR Message

PVR: VFrame attempted to use one of these functions:
PVR: wglChoosePixelFormatARB
PVR: but they are not present on you machine.

Ignore?

当我在 EGL API 中调用 eglChooseConfig() 或 eglGetConfigs() 函数来获取系统配置时,会出现此消息。

我认为出现这个问题是因为上面提到的 OpenGL32.dll 版本不支持 wglChoosePixelFormatARB() 函数。

我测试的大多数版本都运行良好。工作版本列表是:

5.2.3790.3959
6.1.7600.16385
6.3.9600.16384(1000kb)
10.0.10130.0

不工作版本的列表是:

4.0.1379.1
5.1.2600.1280
5.1.2600.5512
6.3.9600.16384 (720kb)

为了解决这个问题,我想在我的产品中包含这个 dll 文件用于商业用途。我想知道分发 OpenGL32.dll 的工作版本是可能的。你能告诉我没有这个错误的OpenGL32.dll版本列表和关于OpenGL32.dll的许可信息吗?

【问题讨论】:

【参考方案1】:

问题不在于opengl32.dll(事实上,它的内部工作自大约 19 年前的 Windows NT-4 以来一直没有改变)。您的系统只是缺少完全支持 OpenGL 的图形驱动程序:

默认安装在 Windows(和 Windows 更新)上的图形驱动程序只有非常有限的、精简的 OpenGL 支持(实际上它们几乎不支持 GPU 加速)。要获得正确、完整的 OpenGL 支持,您必须从 GPU 供应商的网站下载适用于您的 GPU 的驱动程序包并手动安装。

使用 Windows 标准,自动安装驱动程序和 Windows 更新不会为您提供适当的 OpenGL 支持。

【讨论】:

以上是关于使用 EGL 1.4 查询 OpenGL32.dll 版本问题的主要内容,如果未能解决你的问题,请参考以下文章

Android OpenGL 开发---EGL 的使用

OpenGL ES总结OpenGL ES中EGL

Android笔记:OpenGL ES与EGL的关系与实例

OPENGL ES 2.0 知识串讲――EGL详解

android graphic(14)—EGL和OpenGL ES之间的关系

android graphic(14)—EGL和OpenGL ES之间的关系