QtShader Tools
QtShader Tools 模块基于Khronos SPIR-V 网站所述的 SPIR-V 开源生态系统构建。
Qt着色器处理系统的主要组件包括:
qsb命令行工具qsb工具的 CMake 集成- QShader (QtGui 模块的一部分)
- QShaderBaker (该模块的一部分,相当于
qsb工具的库版本)
文章与指南
C++ API
注意: 除非有充分理由,否则应用程序和库 应避免直接使用 C++ API。建议优先通过 CMake 在构建时调用qsb 命令行工具进行离线预处理;若无法通过 CMake 调用,则应手动执行。qsb 工具使用QShaderBaker ,并将生成的QShader 序列化版本写入文件。C++ API的使用应仅限于无法避免运行时处理和转换,且已充分了解其对性能影响的情况。例如,处理用户提供的或动态生成的着色器源字符串的应用程序。
许可与归属
QtShader Tools 运行时库由The Qt Company 提供商业许可。此外,它还提供自由软件许可。自 Qt 6.3 起,这些自由软件许可包括GNU 较少通用公共许可证第 3 版或GNU 通用公共许可证第 2 版。
qsb 命令行工具由The Qt Company 提供,并受商业许可约束。此外,该工具还受GNU 通用公共许可证第 3 版(GNU General Public License, version 3)的约束。
更多详细信息请参阅Qt 许可协议。
此外,Qt 6.12.0 中的Shader Tools 可能包含遵循以下宽松许可协议的第三方模块:
SPIRV-Cross, version 1a6169566c73d3da552748fc372fe2bbb856e46e | Apache 2.0 许可协议和 MIT Khronos(旧版本) |
BSD 3 条款“新”或“修订”许可、MIT Khronos(旧版本)、Apache 2.0 许可、包含 Bison 2.2 例外条款的 GNU 通用公共许可证 v3.0 或更高版本,以及 AML 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.