Kuesa Runtime is a module for Qt 3D which provides:
It is the developer facing part of the Kuesa 3D design and integration workflow.
For a C++ applications and C++/QML applications that performs 2D or 3D rendering leveraging the Kuesa and Qt 3D modules:
QT += 3dcore 3drender 3dinput 3dlogic 3dextras 3danimation kuesa
To include the definitions of the module's classes, use the following directives:
C++:
#include <Kuesa> int main(int ac, char **av) { QGuiApplication app(ac, av); Qt3DExtras::Qt3DWindow w; KuesaUtils::SceneConfiguration sceneConfiguration; sceneConf.setSource(QUrl("file:///path/to/file.gltf)); sceneConf.setCameraName("CameraNameInGLTF"); KuesaUtils::View3DScene view3d; view3d.setActiveScene(&sceneConfiguration); w.setRootEntity(&view3d); w.setActiveFrameGraph(view3d.frameGraph()); w.show(); return app.exec(); }
QML:
import Kuesa 1.3 import Kuesa.Utils 1.3 View3D { id: scene3D multisample: true source: "file:///path/to/file.gltf" camera: "cameraNameInGLTF" }
Kuesa aims at making it easier for both Artist and Developers to preview and integrate 3D scenes into a Qt based application.
Kuesa provides an easy, integrated and unified workflow without any compromises for designers and developers based on the glTF 2 format.
It is composed of 2 components:
Kuesa Studio is only available as a commercial package. It is the designer facing part of the Kuesa workflow.
The Kuesa-Studio comes with a gltf tool to preview and introspect scenes.
It also provides tools to condition assets to integrate as part of the build process.
It is the developer facing part of the Kuesa workflow. It is materialized as a library on top of Qt 3D that provides:
The Kuesa-Runtime comes with the gltfViewer tool to preview scenes.
Kuesa relies on the Qt framework:
Note: Earlier Qt 3D versions can still be used but might be suffering from bugs that have been identified and fixed since.
If using Qt 6.0, Kuesa can alternatively run on top of Vulkan, Metal or DirectX.
Kuesa can optionally use the Draco mesh compression library, either through an embedded version, or a version present on the system. Draco can be used to dramatically decrease the size of glTF files.
Kuesa supports the KHR_draco_mesh_compression
glTF extension as defined here.
By default, Kuesa will build with its own embedded version of the Draco library. This can be enforced with:
qmake kuesa.pro -- --draco=qt
To build Kuesa without any support for Draco, run qmake like this:
qmake kuesa.pro -- --draco=no
To build Kuesa with an external version of Draco, run qmake like this:
qmake kuesa.pro -- --draco=system
If Draco is not installed in the default location on your system, you can set the DRACOSDK
environment variable to point to where Draco is installed. Use the DRACOSDK_LIBS
environment variable to point to the folder containing the Draco libraries.
Note that Kuesa has last been tested with Draco at commit 8833cf878e6fd43c5a3fd6e4231212e25e25e632.
Kuesa builds as a Qt module and will be installed alongside Qt. The main advantage is that once installed, using Kuesa in your projects is as easy as adding
QT += kuesa
to your project file. The down side is that building Kuesa from source can be a little more complicated if you're not used to building Qt itself already.
Note: you DO NOT have to build Qt from source, building Kuesa against a pre-installed version of Qt should work fine.
But building a module means that Kuesa has dependencies that are similar to those that apply when building Qt from source (Instructions on how to build Qt from source can be found here.
In particular:
Once these are installed, `syncqt` will be able to generate the module headers at build time. Simply run:
qmake make make install
Should examples not be built, try:
make sub-examples cd examples make install
To install the Qt Creator template, copy the entire kuesa folder from tools/qtc_templates
to the templates/wizards
folder inside the Qt Creator install location.
If you've updated Kuesa or have used Kuesa previously, it is recommended to clear the Qt 3D cached shader files.
The cache is located at Qt::TempLocation which is usually ""C:/Users/<USER>/AppData/Local/Temp" on Windows and "/tmp" on Linux.
Remove all the .qt3d files present at that location to ensure Kuesa rebuilds all the shaders with all the updates.
Kuesa has the following support for platforms:
Kuesa is available under commercial licenses from KDAB. In addition, it is also available under the GNU Affero General Public License, version 3
Apache License 2.0 | |
Apache License 2.0 | |
Public Domain |
BSD | |
Public Domain | |
BSD Simplified |