Qt Shader Tools

Das Qt Shader Tools Modul baut auf dem SPIR-V Open Source Ecosystem auf, wie auf der Khronos SPIR-V Website beschrieben.

Die Hauptkomponenten des Qt-Shader-Konditionierungssystems sind:

  • das qsb Kommandozeilen-Tool
  • CMake-Integration für das Werkzeug qsb
  • QShader (Teil des Moduls QtGui )
  • QShaderBaker (Teil dieses Moduls, das Bibliotheksäquivalent des qsb -Tools)

Artikel und Anleitungen

C++-API

QShaderBaker

Kompiliert einen GLSL/Vulkan-Shader in SPIR-V, übersetzt in andere Shading-Sprachen und sammelt Reflection-Metadaten

Hinweis: Anwendungen und Bibliotheken sollten es vermeiden, die C++-API direkt zu verwenden, es sei denn, sie haben einen guten Grund dafür. Verlassen Sie sich lieber auf die Offline-Vorverarbeitung, indem Sie das qsb Kommandozeilen-Tool zur Build-Zeit über CMake aufrufen, oder manuell, wenn ein Aufruf über CMake nicht möglich ist. Das Tool qsb verwendet QShaderBaker und schreibt die serialisierte Version des generierten QShader in eine Datei. Die Verwendung der C++-API sollte auf Fälle beschränkt werden, in denen die Verarbeitung und Übersetzung während der Laufzeit nicht vermieden werden kann und die Auswirkungen auf die Leistung bekannt sind. Ein Beispiel hierfür sind Anwendungen, die mit vom Benutzer bereitgestellten oder dynamisch generierten Shader-Quelltexten arbeiten.

Lizenzen und Zuschreibungen

Die Qt Shader Tools Laufzeitbibliothek ist unter kommerziellen Lizenzen von The Qt Company erhältlich. Darüber hinaus ist sie unter Lizenzen für freie Software erhältlich. Seit Qt 6.3 sind diese Lizenzen für freie Software die GNU Lesser General Public License, Version 3, oder die GNU General Public License, Version 2.

Das Befehlszeilen-Tool qsb ist unter kommerziellen Lizenzen von The Qt Company erhältlich. Darüber hinaus ist es unter der GNU General Public License, Version 3, erhältlich.

Siehe Qt Licensing für weitere Details.

Darüber hinaus kann Qt Shader Tools in 6.8.2 Module von Drittanbietern unter den folgenden zulässigen Lizenzen enthalten:

SPIRV-Cross, version 2d990d355a296ae1e368585810f884ebadcc4773

Apache License 2.0 und MIT Khronos - alte Variante

glslang, version 14.2.0

BSD 3-Clause "New" oder "Revised" License, und MIT Khronos - alte Variante, und Apache License 2.0, und GNU General Public License v3.0 oder später mit Bison Ausnahme 2.2, und AML glslang variant License

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