Qt 3D Studio OpenGL Runtime C++ Classes

The Qt 3D Studio OpenGL Runtime provides a number of C++ classes to integrate and control Qt 3D Studio presentations in Qt applications. More...



Controls a data input entry in a Qt 3D Studio presentation. This class is a convenience class for controlling a data input in a presentation. DataInput provides a clean contract between the presentation design and the code. It hides the presentation details from the code while providing a contractual access point to code for controlling aspects of the presentation (e.g. timeline of a subpresentation). It also allows the design to use a single DataInput to drive multiple aspects of the design (e.g. DataInput for speed can change the color of the speedometer, angle of the needle)


Provides notifications from data output entries in Qt 3D Studio presentation


Controls a scene object (element) in a Qt 3D Studio presentation


Represents a mesh geometry


Represents a Qt 3D Studio presentation


Allows streaming of QML as subpresentation


Controls the special Scene or Component scene objects in a Qt 3D Studio presentation


Settings for subpresentations


Renders a Qt 3D Studio presentation on a QWindow or an offscreen render target using OpenGL


Qt 3D Studio presentation viewer settings

Detailed Description

To include the definitions of the module's classes, use the following directive:

#include <QtStudio3D>

To link against the module, add this line to your qmake .pro file:

QT += studio3d


The main class is Q3DSSurfaceViewer. Q3DSSurfaceViewer allows targeting a QWindow or an offscreen render target (an OpenGL texture).

Note: Qt applications based on QML and Qt Quick will rather want to use the Studio3D type from Qt 3D Studio OpenGL Runtime QML Types.


Each Q3DSSurfaceViewer instance exposes a Q3DSPresentation. This, possibly in combination with Q3DSDataInput or Q3DSElement objects, allows:

  • changing scene object properties (for example, the transform of a model, colors and other settings of a material, etc.),
  • changing slides (thus starting the relevant animations and applying the scene object property changes associated with the new slide),
  • and controlling the timeline (the current playback position for the key-frame based animations) both on the main scene and on individual Component nodes.


Available under certain Qt licenses.
Find out more.