Qt OpenGL 动态与桌面

Posted

技术标签:

【中文标题】Qt OpenGL 动态与桌面【英文标题】:Qt OpenGL dynamic vs. desktop 【发布时间】:2015-06-08 09:56:31 【问题描述】:

带有动态 OpenGL 和桌面 OpenGL 的 Qt 版本有什么区别? http://tver-soft.org/qt64

【问题讨论】:

我认为这是使用Angle(在directX之上实现的openglES2.0)或实际安装的openGL之间的区别 我不知道“tver-soft”是什么,但我强烈建议你从Qt官方网站下载:qt.io/download-open-source Qt 官方网站没有 VS2010 的 64 位版本 :( 为什么这么强? @user2449761 因为声称为其他组织代码提供预打包 exe 的随机网站往往充满恶意软件。如果你无法获得 VS2013,那么我会从源代码构建。 【参考方案1】:

这很可能是指他们编译 Qt 时设置的配置选项。 这个选项在这里详细解释:https://blog.qt.io/blog/2014/11/27/qt-weekly-21-dynamic-opengl-implementation-loading-in-qt-5-4/

总而言之,Qt 可以编译为使用桌面 OpenGL(提供 OpenGL 版本的图形驱动程序的直接接口)或使用 Angle(使用 directX 提供硬件 GL 支持的 OpenGL 版本)。

使用“桌面”可为您提供最新(和已弃用)的 OpenGL 功能(如果可用),但某些驱动程序无法正常工作。

Qt 现在依赖 OpenGL 进行重要的 2D 渲染,并且可能会受到错误驱动程序的严重影响。出于这个原因,您可以选择更安全的 Angle,更安全但仅限于 OpenGL ES 2.0 功能。

Dynamic 是一个新选项,它将在运行时在用户计算机上自动在它们之间进行选择。然而,这确实意味着您需要使用 Qt OpenGL API(而不是例如 GLEW)来访问 OpenGL。

如果您不打算在代码中直接使用 OpenGL,那么您应该选择动态。

您还应该考虑自己编译代码,因为您将您和您的用户的安全性信任给 tver-soft.org。即使没有恶意,这些文件也可能存在安全风险。

【讨论】:

以上是关于Qt OpenGL 动态与桌面的主要内容,如果未能解决你的问题,请参考以下文章

树莓派上的 Qt OpenGL 上下文

如何在qt中执行opengl

qt 3d 和opengl哪个好

将 OpenGL 应用程序与 Qt 集成?

Qt 开发和 OpenGL 的必要性与 QML 页面

Qt5怎样使用OpenGL