Kuesa is a module for Qt 3D which provides:
- Support for glTF 2 importing
- Helpers for accessing and manipulating loaded content
- Custom PBR material
- Custom forward renderer for adding effects
- A Qt Creator template for quickly creating new Kuesa based projects
Application side features provided by Kuesa reside in the Kuesa Qt module.
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:
import Kuesa 1.0
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 3 components:
Kuesa Digital Content Creation Plugins
Libraries on top of Qt 3D that provide:
- glTF2 compliant importer that generates a Qt 3D based scene
- Custom PBR materials
- Asset collections to retrieve assets by name
- Post Processing Effects
A set of tools to preview scenes
- Kuesa requires the base Qt 5.12 requirements and OpenGL supports.
- Kuesa requires Qt 3D from Qt 5.12.5, Qt 5.13.1 or later.
- Instructions on how to build Qt from source can be found here.
- Desktop OpenGL 3+
- OpenGL ES 3.2
- 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
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 builds as a Qt module and will be installed alongside Qt.
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 Platform Support
Kuesa has the following support for platforms:
- Microsoft Windows (win32) - Supported
- Linux X11 - Supported
- macOS - Supported although there may be some retina scaling issues
- Android - Supported
- Embedded Linux - Supported
- iOS - Supported
- WinRT - Not supported yet