NativeShaderInfo 结构

struct QShader::NativeShaderInfo

关于原生着色器代码的附加元数据。 更多信息...

公共变量

详细描述

描述原生着色器信息(如果适用)。这在某些着色器语言和着色器阶段的某些条件下变得相关,如果来自 SPIR-V 的转换涉及在生成的着色器中引入额外的“魔法”输入、输出或资源,则变得相关。这些添加可能取决于原始源代码(即对各种 GLSL 语言构造或内置函数的使用),因此如果某些功能添加到生成的着色器代码中,则需要以动态方式指示。

例如,考虑一个每个 patch(而不是每个顶点)具有输出变量的 tesselation control 着色器。这被翻译为输出 spvPatchOut 缓冲区的 Metal 计算着色器。但如果未使用每个 patch 的输出变量,则此缓冲区根本不会存在。着色器代码依赖于这种缓冲区存在的事实可以通过本结构中的数据进行表示。

注意:这是一个具有有限兼容性保证的 RHI API,有关详细信息,请参阅 QShader

成员变量文档

QMap<int, int> NativeShaderInfo::extraBufferBindings

int NativeShaderInfo::flags

© 2024 Qt 公司有限公司。本文件中包含的文档贡献稿是各自所有者的版权。本文件中提供的文档是根据自由软件基金会发布的 GNU 自由文档许可版 1.3 许可的。Qt 和各自的标志是芬兰和/或其他国家的 Qt 公司有限公司的商标。所有其他商标是它们各自所有者的财产。