Get started with Open source
Overview
Kuesa Runtime is a module for Qt 3D which provides:
|
Kuesa Studio is the designer facing part of Kuesa. It provides:
|
Requirements
Note: this repository requires git-lfs support.
Kuesa Runtime requires Qt 3D from Qt 5.12.8, Qt 5.14.2 or Qt 5.15.
Note: not all features are working with Qt 5.12.8.
Qt 3D suffers from a regression that prevents optional aspects (animations, logic) from running
https://codereview.qt-project.org/c/qt/qt3d/+/297123 fixes this
Hardware :
1. Desktop
Anything with OpenGL 3.2 support (or more recent) is adequate.
Currently supported operating systems are:
2. Embedded
Here's a list of Chipsets/Devices Kuesa has successfully been tested on:
OpenGL ES 3.1 or lower is supported but with a limited feature set depending on available OpenGL extensions.
Note: this repository requires git-lfs support.
Kuesa Runtime requires Qt 3D from Qt 5.12.8, Qt 5.14.2 or Qt 5.15.
Note: not all features are working with Qt 5.12.8.
Qt 3D suffers from a regression that prevents optional aspects (animations, logic) from running
https://codereview.qt-project.org/c/qt/qt3d/+/297123 fixes this
- Download and install Qt 5.12.8
- clone Qt3D: git clone [email protected]:qt/qt3d.git
- go to 5.12 branch: git checkout -t origin/5.12
- open a console with Qt setup (should be installed with Qt)
- go to the Qt3D directory, and type: qmake && make - j4 && make install (or qmake; jom; jom install on Windows)
Hardware :
1. Desktop
Anything with OpenGL 3.2 support (or more recent) is adequate.
Currently supported operating systems are:
- Linux
- Windows
- Mac OS
2. Embedded
Here's a list of Chipsets/Devices Kuesa has successfully been tested on:
- Apple iPad 5 (PowerVR GT7600)
- Apple iPhone 7
- OnePlus 3T (Android, Qualcolmm Snapdragon 821/Adreno 430)
- NVidia Tegra K1 (embedded Linux)
- iMX8 (embedded Linux)
OpenGL ES 3.1 or lower is supported but with a limited feature set depending on available OpenGL extensions.
- For HDR support, GL_OES_texture_half_float is required
- For anti aliasing, ARB_texture_multisample and GL_EXT_color_buffer_half_float are required
Optional Dependencies
Kuesa can optionnally 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.
The glTF editor, provided with Kuesa, is able to compress existing glTF 2.0 assets with Draco.
Kuesa can optionnally 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.
The glTF editor, provided with Kuesa, is able to compress existing glTF 2.0 assets with Draco.
Components
Kuesa Runtime is composed of:
Kuesa Runtime is composed of:
- A Qt module with core classes
- A QML plugin
- The gltfViewer tool to preview glTF 2.0 files, including selecting cameras and animations
Installation
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:
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.
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:
- perl must be installed and included in the PATH
- if you have downloaded Kuesa as an archive from github, you must create an empty .git folder at the root of the kuesa source directory.
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.
3rd-party
Kuesa uses the following 3rd-party software:
Kuesa uses the following 3rd-party software:
- Qt 5.12 or later, licensed under LGPLv3 www.qt.io
- Draco, licensed under Apache License 2.0 and authored by Google Inc. https://github.com/google/draco
- MikkTSpace, licensed under a custom license and authored by Morten S. Mikkelsen http://mmikkelsen3d.blogspot.com/
Python Binding
A python binding it available, based on PySide 2. Please check the build instructions in the src/python and the sample application in examples/kuesa/python.
A python binding it available, based on PySide 2. Please check the build instructions in the src/python and the sample application in examples/kuesa/python.
Support
Please file issues here
KDAB will happily accept external contributions; however, all contributions will require a signed Contributor License Agreement.
Please file issues here
KDAB will happily accept external contributions; however, all contributions will require a signed Contributor License Agreement.