Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt-QML和3d:这两个框架是相同的吗?_C++_Qt_Qml_Qtquick2_Qt3d - Fatal编程技术网

C++ Qt-QML和3d:这两个框架是相同的吗?

C++ Qt-QML和3d:这两个框架是相同的吗?,c++,qt,qml,qtquick2,qt3d,C++,Qt,Qml,Qtquick2,Qt3d,任何曾经尝试过Qt-QML和3D-OpenGL的人,我都对我读过的两个框架感兴趣,但我不清楚它们是否是同一个框架。Krzysztof Krzewniak在2013年Qt开发者日的视频演示中概述了这两个方面中最有趣的部分: 虽然非常有趣,但不幸的是,我在网上找不到其他任何地方的相关源代码,甚至找不到所讨论的框架名称 这里有一个QtQuick3d: 然而,我无法判断这是在描述开发时的同一个框架,还是它们是独立的(显然有些相似)框架?与视频相比,我对API的初步观察表明它们是不同的,这似乎是多余的

任何曾经尝试过Qt-QML和3D-OpenGL的人,我都对我读过的两个框架感兴趣,但我不清楚它们是否是同一个框架。Krzysztof Krzewniak在2013年Qt开发者日的视频演示中概述了这两个方面中最有趣的部分:

虽然非常有趣,但不幸的是,我在网上找不到其他任何地方的相关源代码,甚至找不到所讨论的框架名称

这里有一个QtQuick3d:

然而,我无法判断这是在描述开发时的同一个框架,还是它们是独立的(显然有些相似)框架?与视频相比,我对API的初步观察表明它们是不同的,这似乎是多余的,因为Qt社区中有两个重要的项目试图做同样的事情


在QML这一领域有一些知识的人能在这里提供一些指导吗?

好的,让我们从后面的一些历史开始

Qt最初是一个2D框架,用于为简单的桌面应用程序呈现计算机图形UI

Qt3D的开发早于qml的成熟,qml是QtGui模块甚至QtOpenGL提供的2D世界的扩展

这是一个3D Qt api,用于在屏幕上呈现3D内容。它有不同的方面来处理3D对象,构建它们,将它们放在屏幕上,计算交集,等等

其想法是将易于创建的应用程序概念引入Qt,而不是总是通过QtOpenGL或更低级别的API来创建游戏、模拟器、cad应用程序等

右,当QML出来并保持成熟时,布里斯班的QT3D贡献者认为将QML API放在现有QT3D C++ API之上是很好的,以便于在QML应用中使用。这就是我们如何来到QtQuick3D的原因

当诺基亚决定关闭布里斯班办公室时,Qt3D模块几乎没有得到维护,只是偶尔从社区得到一些错误修复

KDAB正在进行一些重新架构和重新设计模块的工作,但尚未成熟,可以在单独的分支中找到

您所指的视频不涉及未维护的Qt3D模块。相反,它尝试基于Qt中引入的新场景图构建3D。因为在Qt5中没有一个Qt3D模块可以很好地与新的SG配合使用,所以人们变得务实并继续前进。这就是你在视频中看到的

现在,正如你所看到的,这不是一个完全的重复,但是。。。在未来,新的Qt3D体系结构可能会在使用新的场景图时表现得更好。事实上,KDAB在现实世界中投入了大量精力


这是QT3D模块的基础,这可能是未来基于QT编写的3D应用(希望),但同时…该视频展示了如何基于我们现在拥有的构建硬件加速的3D UI。

这两个3D库不一样,您是对的

关于Qt3d 1.0和QtQuick 3d,您已经在线链接了大量类似和相关的参考信息

视频演示中的OpenGL工作是更新的。它直接放置在
QSceneGraph
QQuickWindow
功能的顶部

我建议不要在本视频或Qt3d/QtQuick3d库中使用这种方法。相反,等待KDAB完成Qt3d 2.0(可能已经发布了,您应该检查)。Qt3d 2.0是一个完整的QML库,可以让您完成本视频中演示的内容。
(,)。这是几个月前我学到的:

据我所知,目前唯一有效的git回购协议是:

git://gitorious.org/qt/qt3d.git
“KDAB正在进行一些工作……还不成熟……可以在另一个分支中找到。”Laszlo Papp的回答中的一段似乎提到了这一点,但似乎保持在可编译状态(意思是,我已经尝试过几次了,YMMV)。Master branch应该可以使用Qt3D,但看起来API即将改变

几个月前,我在Windows 8.0上玩过它,Windows 8.0是与SDK一起安装的MinGW工具链,使用本机完整OpenGL驱动程序(我必须从ATI网站获取我的卡,默认的Windows驱动程序是不够的)。看起来它还没有坏到一点,一个例子仍然存在,我有一个月亮在这个屏幕上旋转


它有一个文件,它将告诉您如何构建它,从构建Qt5开始。这是另一个原因,因为qt3d自述不是很全面。如果您使用的是Windows,请跳过Webkit及其deps,除非您确实需要它,因为这些额外的deps可能会有点麻烦。

答案中写着。。。Krzysztof在视频开始时也明确表示,它是基于场景图的。我没有看到任何关于实际从何处获取此框架的信息,也没有看到您的答案中对其进行了什么调用。我们不要含糊其辞,即使digia将其称为“Qt场景图”:。我想你知道我在问什么,你可以说你不知道答案,但视频中所有暴露的QML类型,如“摄影机”等,都存在于演示者讨论的QML库中,所以我很好奇从哪里可以得到这个。这完全是荒谬的。这个问题很有道理,你得到了答案。很抱歉,我没有提供问题的答案,实际上是非现场资源请求:我在哪里可以获得第三方专有公司的源代码。事实上,你给-1而不是+1或0,这是有点突出,然而。啊,很高兴知道。我会调查的,谢谢。非常有用的信息。谢谢