4

Qt QML と 3D OpenGL を試したことがある人なら誰でも、私が読んだ 2 つのフレームワークに興味がありますが、実際にそれらが同じフレームワークであるかどうかはわかりません。この 2 つの中で最も興味深いのは、Krzysztof Krzewniak によるこの Qt Developer Days 2013 ビデオ プレゼンテーションで概説されています。

http://www.youtube.com/watch?v=29wCpA0DBZI

非常に興味深いものですが、残念ながら、これに関するソースコードや、議論されているフレームワークの名前さえ、オンラインで見つけることができません。

QtQuick3dがあります:

http://doc.qt.digia.com/qt-quick3d-snapshot/

ただし、実際にこれが Dev Days の同じフレームワークを説明しているのか、それとも別の (そして明らかに似ている) フレームワークなのかはわかりません。ビデオと比較してAPIを最初に見たところ、それらが異なることが示唆されました.Qtコミュニティで2つの重要なプロジェクトが同じことをしようとしているのはかなり冗長に思えます.

QML のこの分野である程度の知識を持っている人は、ここでいくつかの指針を提供できますか?

4

3 に答える 3

7

Right, so let us start with some history behind...

Qt was initially a 2D framework for rendering computer graphics UI for simple desktop applications.

Qt3D was developed earlier than qml became mature as an extension to the 2D world provided by the QtGui module, or even QtOpenGL.

It was a 3D Qt api for rendering 3D content on the screen. It had different aspects to deal with 3D objects, build them, put them on the screen, compute intersection, and so on.

The idea was to bring easy to create application concept into Qt rather than always going through QtOpenGL or lower-level API for creating games, simulators, cad applications, and so on.

enter image description here

Right, when QML came out and kept maturing, the Qt3D contributors in Brisbane thought that it would be nice to put a QML API on top of the existing Qt3D C++ API for easy use in QML application. That is how we come to QtQuick3D.

enter image description here

When Nokia decided to shut the Brisbane office done, the Qt3D module pretty much became unmaintained and abandoned only getting a few bugfixes from the community every now and then.

There is some work in progress by KDAB to re-architecture and re-design the module, but it is not mature yet, and it can be found in a separate branch.

The video you are referring to is not dealing with the unmaintained Qt3D module. Rather, it tries to build 3D based on the new scene graph introduced in Qt. Since, there is no Qt3D module working nicely with the new SG in Qt 5, people become pragmatic and move on. That is what you see in the video.

Now, as you can see this is not quite a duplication, but... In the future, the new Qt3D architecture might be acting better with the new scene graph. In fact, KDAB has put a lot of effort into bringing the OpenGL support into QtGui up to real world.

That was the foundation for the Qt3D module which will probably be used in the future (hopefully) by 3D applications written based on Qt, but in the meantime... the video shows how to build hardware accelerated 3D UI based on what we have today.

于 2014-04-26T11:46:25.563 に答える
0

これら 2 つの 3d ライブラリは同じではありません。そのとおりです。

Qt3d 1.0 と QtQuick 3d に関しては、オンラインで既にリンクされている参照情報がたくさんあります。これらは類似しており、関連しています。

ビデオ プレゼンテーションでの OpenGL の作業は、かなり新しいものです。QSceneGraphと機能の上に直接配置されQQuickWindowます。

このビデオまたは Qt3d/QtQuick3d ライブラリのアプローチを使用しないことをお勧めします。代わりに、KDAB が Qt3d 2.0 を完成させるのを待ちます (これは既にリリースされている可能性があります。確認する必要があります)。Qt3d 2.0 は、このビデオで説明されていることを実行できる QML の完全なライブラリです。( http://qt-project.org/wiki/Qt3D-wip-newapi-Overviewhttp://prezi.com/u-ewejoqxqj2/qt3d-20/ )

于 2014-04-26T12:16:47.453 に答える