【发布时间】:2016-04-29 08:06:23
【问题描述】:
我正在尝试创建一个与 opengl 2.0 版和 opengl 3.2 版(核心配置文件)兼容的软件。我正在使用 glew 来创建我的上下文。我提供了一个编译时宏来指定 openGl 版本,并且我想在支持的最大 openGL 版本为 2.0 并且人们选择 3.2 时测试场景。我的电脑支持最高 4.5 的 openGL 版本,所以我无法测试这个场景。我想将支持的 openGL 版本降级到 2.0,以便我可以测试这个场景。一种方法是使用支持最大 openGL 版本 2.0 的旧 glew 版本,因此 glewIsSupported 功能对于版本 > 2.0 将失败,但我不想更改我的 glew 库,因为当机器真的只支持 openGL 时,这不是场景的正确复制2.0。
所以我的问题是如何降级我的计算机以支持最高 2.0 的 openGL 版本?我希望对 3.2 版本支持的 glew 检查失败,所以我可以显示错误消息并停止。
【问题讨论】:
-
您要检查什么样的错误?您是否正在尝试查看您是否使用了更高版本的 OpenGL 版本的东西?另外,为什么是 GL 2.0 而不是 2.1?真的有那么多实现 2.0 而不是 2.1 的 OpenGL 实现吗?这与您将问题标记为 ES 的事实有关吗?
-
使用 opengl 2.0 时,我没有使用 VAO,而使用 opengl 3.2 时,我使用的是 VAO。这是代码的主要区别。我需要测试这个场景,如果机器只支持 2.0 并且用户选择 3.2,我的应用程序会给出适当的错误并优雅地退出。它不应该给出意外的结果并检查我是否需要添加一些测试用例。所以我需要这样做。除了降级驱动版本还有什么办法吗?是的,我也支持 opengl es 2.0 和 opengl es 3.0。所以也将其标记为 es