Sur cette page

Exemple « Hello Vulkan Cubes »

Présente les bases de l'utilisation de QVulkanWindow.

L'exemple « Hello Vulkan Cubes » illustre une utilisation plus avancée de QVulkanWindow.

Capture d'écran d'un exemple illustrant le tracé instancié d'un maillage à partir d'un fichier

Dans cet exemple, un maillage est chargé à partir d’un fichier, ainsi que deux matériaux différents et les pipelines graphiques correspondants. Les cubes arrondis sont dessinés à l’aide de l’instanciation et utilisent un modèle d’éclairage de type Phong avec une seule lumière directionnelle.

Contrairement aux exemples `hellovulkantexture` et `hellovulkantriangle`, la gestion des tampons uniformes adopte ici une approche différente : des tampons uniformes dynamiques sont utilisés à la place de plusieurs ensembles de descripteurs.

Cet exemple nécessite QtConcurrent, car il illustre une utilisation simple de QtConcurrent::run(), QFuture et QFutureWatcher en combinaison avec QVulkanWindow. Le chargement des données de maillage et de shader, la construction du pipeline graphique (potentiellement coûteuse en ressources) et la création du tampon de commandes d’image sont tous effectués dans des threads de travail distincts.

La scène est intégrée dans une interface utilisateur basée sur des widgets. La sous-classe QVulkanWindow gère également les entrées souris et clavier, car elle fournit une caméra à la première personne permettant de se déplacer dans la scène.

Exécution de l’exemple

Vous pouvez exécuter l’exemple à partir de :

Exemple de projet sur code.qt.io

© 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.