Adaptations du graphe de scène
Scene Graph Adaptations dans Qt Quick
Dans Qt 5.0, Qt Quick s'est toujours appuyé sur OpenGL (OpenGL ES 2.0 ou OpenGL 2.0) pour analyser le graphe de scène et rendre les résultats vers une cible de rendu.
À partir de Qt 5.8, Qt Quick prend également en charge le rendu dans le logiciel, et avec OpenVG. Pour ce faire, des adaptations supplémentaires du graphe de scène sont disponibles, soit sous la forme de modules d'extension (openvg), soit intégrées à la bibliothèque Qt Quick (software). L'adaptation par défaut continue de reposer directement sur OpenGL.
À partir de Qt 5.14, l'adaptation par défaut a la possibilité d'effectuer le rendu via une couche d'abstraction graphique, l'interface matérielle de rendu Qt (RHI), fournie par le module Qt GUI . Lorsque cette option est activée, aucun appel direct à OpenGL n'est effectué. Au lieu de cela, le graphe de scène effectue le rendu en utilisant les API fournies par la couche d'abstraction, qui est ensuite traduite en appels OpenGL, Vulkan, Metal, ou Direct 3D. La gestion des shaders est également unifiée en écrivant le code des shaders une seule fois, en le compilant dans SPIR-V, puis en le traduisant dans le langage approprié pour les différentes API graphiques.
À partir de Qt 6.0, le modèle de rendu basé sur RHI est le modèle par défaut, et il n'y a pas d'option pour revenir à l'utilisation directe d'OpenGL.
Passer d'une adaptation à l'autre dans votre application
Contrairement à software, le modèle de rendu basé sur RHI n'est pas une adaptation supplémentaire et est toujours intégré. Depuis Qt 6.0, il est toujours activé. Sur les plates-formes où plusieurs API graphiques sont disponibles, le scenegraph fait un choix spécifique à la plate-forme. Si cela n'est pas souhaité, les applications peuvent forcer une API graphique spécifique en définissant la variable d'environnement QSG_RHI_BACKEND ou via QQuickWindow::setGraphicsApi() en combinaison avec QSGRendererInterface::GraphicsApi.
Le passage à une adaptation différente peut se faire de deux manières :
- Utiliser une variable d'environnement - Définir la variable d'environnement
QT_QUICK_BACKENDou l'ancienne variableQMLSCENE_DEVICEavant de lancer les applications. - Utiliser une API C++ - Appeler QQuickWindow::setSceneGraphBackend() au début de la fonction main() de l'application.
Les backends suivants sont pris en charge :
- Défaut - Demande avec la chaîne
"rhi"ou une valeur d'énumération QSGRendererInterface::GraphicsApi différente de celles énumérées ci-dessous. - Software - Demande avec la chaîne
"software"ou la valeur de l'énumération QSGRendererInterface::Software. - OpenVG - Demande avec la chaîne
"openvg"ou la valeur de l'énumération QSGRendererInterface::OpenVG.
Pour savoir quel backend est utilisé, vous pouvez activer l'enregistrement des informations de base du graphe de scène via la variable d'environnement QSG_INFO ou la catégorie d'enregistrement qt.scenegraph.general. Certaines informations sont alors imprimées sur la sortie de débogage au démarrage de l'application.
Remarque : dans les versions de Qt OpenGL et Vulkan désactivées, l'adaptation par défaut est software. Cela ne s'applique cependant pas à Windows ou macOS, car ces plateformes ont toujours le support Direct 3D ou Metal, respectivement, activé.
Note : Généralement, les adaptations autres que celle par défaut sont accompagnées d'un ensemble de limitations car il est peu probable qu'elles fournissent un ensemble de fonctionnalités 100% compatibles avec OpenGL. Cependant, ces adaptations peuvent apporter leurs propres avantages dans certains domaines. Pour plus d'informations sur les différentes adaptations, reportez-vous aux sections ci-dessous.
Adaptation par défaut
Lors de l'utilisation directe d'OpenGL, l'adaptation par défaut est capable de fournir l'ensemble des fonctionnalités de Qt Quick 2. Pour plus de détails, voir Adaptation par défaut.
Adaptation logicielle
L'adaptation logicielle est un moteur de rendu alternatif pour Qt Quick 2 qui utilise le moteur de peinture matricielle pour rendre le contenu du graphe de scène. Pour plus de détails, voir Adaptation logicielle.
OpenVG
L'adaptation OpenVG est un moteur de rendu alternatif pour le logiciel Qt Quick 2 qui rend le contenu du graphe de scène en utilisant les commandes OpenVG pour fournir des graphiques vectoriels et matriciels 2D accélérés par le matériel. Pour plus de détails, voir Adaptation OpenVG.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.