Qt OpenGL模块和Qt/3D有啥区别

Posted

技术标签:

【中文标题】Qt OpenGL模块和Qt/3D有啥区别【英文标题】:What is the difference between Qt OpenGL module and Qt/3DQt OpenGL模块和Qt/3D有什么区别 【发布时间】:2011-09-07 07:27:50 【问题描述】:

Qt Sdk(opengl下)中的3D例子已经可以演示了,但是没有Qt/3D,那么Qt OpenGL模块和Qt/3D有什么区别呢?

【问题讨论】:

我们只能使用 Qt/3D 吗?为什么? 您可以单独使用 Qt3D,但有时您可能必须将它与 Qt OpenGL 一起使用。大多数 Qt3D 类都依赖于 Qt OpenGL。我建议从查看源代码中提供的示例开始。 【参考方案1】:

来自Qt/3D Reference Documentation:

Qt/3D 是 Qt OpenGL 模块的一组扩展类,用于增强 OpenGL 在 Qt 4.7 及更高版本中的使用。

桌面 OpenGL 和嵌入式 OpenGL/ES 之间的移植传统上一直很困难。桌面 OpenGL、OpenGL/ES 1.1 和 OpenGL/ES 2.0 使用不同的函数名称,以及着色器与固定函数管道。编写在所有平台上运行的单个 OpenGL 应用程序是相当困难的,即使对于简单的对象也是如此。

所以 Qt/3D 是对普通 Qt OpenGL 模块的扩展。浏览该页面中的链接以获取更多详细信息和教程/示例。

【讨论】:

那么我们可以只使用 Qt/3D 吗?为什么? "我们可以使用 Qt/3D 吗?"我不知道。 “为什么?”我怎么知道? (我不是你,我猜不出你是否会或为什么会使用它。)如果你需要它就使用它。不使用就不要使用。 我的意思是:我们可以只使用Qt/3D模块来实现3D,而不使用QtOpenGL模块吗? “Qt/3D 是一组 Qt OpenGL 模块的扩展类”。它扩展 OpenGL 模块。这不是一个独立的东西。

以上是关于Qt OpenGL模块和Qt/3D有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

Qt Creator 版本之间有啥区别?

Python 上的 io.open() 和 os.open() 有啥区别?

设置实体旋转的原点(Qt 3D)

鼠标控制 Qt 3D 窗口

Qt里的OpenGL Context有啥作用?Qt助手已经看过了还是不明白,求解答

Qt功能优化:Qt 3D画廊