Sur cette page

Qt Shader Tools

Le module Shader Tools Qt s'appuie sur l'écosystème open source SPIR-V, tel que décrit sur le site web SPIR-V de Khronos.

Les principaux composants du système de conditionnement de shaders Qt sont les suivants :

  • l'outil en ligne de commande « qsb »
  • l'intégration CMake pour l'outil « qsb »
  • QShader (qui fait partie du module « QtGui »)
  • QShaderBaker (qui fait partie de ce module, équivalent sous forme de bibliothèque de l’outil ` qsb `)

Articles et guides

API C++

C++ class reference

Remarque : les applications et les bibliothèques doivent éviter d’utiliser directement l’API C++, sauf si elles ont une bonne raison de le faire. Il est préférable de recourir au prétraitement hors ligne en appelant l’outil en ligne de commande « qsb » au moment de la compilation via CMake, ou manuellement si l’appel via CMake n’est pas possible. L’outil qsb utilise QShaderBaker et écrit la version sérialisée du fichier « QShader » généré dans un fichier. L’utilisation de l’API C++ doit être limitée aux cas où le traitement et la traduction à l’exécution sont inévitables, et où les implications en termes de performances sont bien comprises. C’est notamment le cas des applications qui traitent des chaînes de source de shaders fournies par l’utilisateur ou générées dynamiquement.

Licences et mentions d’attribution

La bibliothèque d’exécution Qt Shader Tools est disponible sous licence commerciale auprès de The Qt Company. Elle est également disponible sous des licences de logiciels libres. Depuis Qt 6.3, ces licences de logiciels libres sont la Licence publique générale restreinte GNU, version 3, ou la Licence publique générale GNU, version 2.

L'outil en ligne de commande « qsb » est disponible sous licence commerciale auprès de The Qt Company. Il est également disponible sous la Licence publique générale GNU, version 3.

Pour plus de détails, consultez la section Licences Qt.

Shader Tools Par ailleurs, Qt XML-ph-0000@deepl.internal dans la version 6.12.0 peut contenir des modules tiers sous les licences permissives suivantes :

SPIRV-Cross, version 1a6169566c73d3da552748fc372fe2bbb856e46e

Licence Apache 2.0 et MIT Khronos (ancienne variante)

glslang, version 16.3.0

Licence BSD à 3 clauses « nouvelle » ou « révisée », licence MIT Khronos (ancienne variante), licence Apache 2.0, licence publique générale GNU v3.0 ou ultérieure avec exception Bison 2.2, et licence AML (variante glslang)

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