Qt 着色器工具

Qt 着色器工具模块基于如 Khronos SPIR-V 网站所述的 SPIR-V 开源生态系统构建,请参阅 Khronos SPIR-V 网站

Qt 着色器预处理系统的主组件包括

  • 命令行工具 qsb
  • CMake 对 qsb 工具的集成
  • QShader(QtGui 模块的一部分)
  • QShaderBaker(本模块的一部分,等同于 qsb 工具的库版本)

文章和指南

C++ API

QShaderBaker

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

注意:应用程序和库应避免直接使用 C++ API,除非有充分的理由。相反,应优先依靠通过 CMake 在构建时调用 qsb 命令行工具的脱机预处理,或者如果通过 CMake 调用不可行,则手动进行。该 qsb 工具使用 QShaderBaker 并将生成的 QShader 的序列化版本写入文件。应将 C++ API 的使用限制在无法避免运行时处理和转换的情况,并且了解其性能影响。此类应用的例子是与用户提供的或动态生成的着色器源字符串一起工作的小程序。

许可证和归属

Qt 着色器工具运行时库可以在 Qt 公司 的商业许可下使用。此外,它还可以在免费软件许可下使用。自 Qt 6.3 以来,这些免费软件许可证是 GNU Lesser General Public License,版本 3GNU General Public License,版本 2

qsb 命令行工具可以在 Qt 公司 的商业许可下使用。此外,它可以在 GNU General Public License,版本 3 下使用。

有关更多信息,请参阅 Qt 许可协议

此外,6.7.2 版本的 Qt 着色器工具可能包含以下许可协议的第三方模块

SPIRV-Cross,版本 sdk-1.3.261.0

Apache License 2.0 和 Khronos 许可协议

glslang,版本 13.0.0

BSD 3-Clause "New" 或 "Revised" 许可协议、Khronos 许可协议、Apache License 2.0、GNU General Public License v3.0 或更高版本,以及 Bison exception 2.2、AML glslang variant 许可协议

© 2024 Qt公司有限公司。本文件中包含的文档贡献均归其各自所有者所有权。提供的文档受GNU自由文档许可证第1.3版的许可,由自由软件基金会出版。Qt及其相关商标是芬兰以及全球其他国家的Qt公司有限公司的商标。商标。所有其他商标均为其各自所有者的财产。