QtShader Tools

QtShader Tools 模块以Khronos SPIR-V网站上描述的SPIR-V 开源生态系统为基础。

Qt 着色器调节系统的主要组件包括

  • qsb 命令行工具
  • qsb 工具的 CMake 集成
  • QShader ( 模块的一部分)QtGui
  • QShaderBaker (该模块的一部分,相当于 工具的库)qsb

文章和指南

C++ API

QShaderBaker

将 GLSL/Vulkan 着色器编译为 SPIR-V,翻译为其他着色语言,并收集反射元数据

注意: 应用程序和程序库应避免直接使用 C++ API,除非有充分理由这样做。相反,最好在构建时通过 CMake 调用qsb 命令行工具进行离线预处理,如果无法通过 CMake 调用,也可以手动进行预处理。qsb 工具使用QShaderBaker ,并将生成的QShader 序列化版本写入文件。C++ 应用程序接口的使用应仅限于无法避免运行时处理和翻译的情况,并且应了解其对性能的影响。例如,使用用户提供或动态生成的着色器源字符串的应用程序。

许可证和归属

QtShader Tools 运行时库由Qt Company 根据商业许可提供。此外,它还以自由软件许可证的形式提供。自 Qt 6.3 起,这些自由软件许可证为GNU Lesser General Public License 第 3 版GNU General Public License 第 2 版

qsb 命令行工具由Qt Company 根据商业许可证提供。此外,它还可以在GNU 通用公共许可证第 3 版下使用。

详情请参见Qt Licensing

此外,6.9.0 中的 QtShader Tools 可能包含以下许可下的第三方模块:

SPIRV-Cross, version ebe2aa0cd80f5eb5cd8a605da604cacf72205f3b

Apache 许可证 2.0 和 MIT Khronos - 旧版本

glslang, version 15.1.0

BSD 3 条款 "新 "或 "修订 "许可、MIT Khronos - 旧版本、Apache 许可 2.0、GNU 通用公共许可 v3.0 或更高版本(Bison 例外 2.2)以及 AML glslang 变体许可。

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