SuperAPI AI 工具集

webgpu-wgsl-builtins

通用与其它

查看项目

更新于 10-15 22:18

技能介绍

用途:在编写 WGSL 着色器时,正确调用内置函数并声明内置输入/输出值,避免触发着色器创建错误。WGSL 是 WebGPU 1.0-stable 的着色语言,内置函数无需导入;内置值通过入口点参数和返回成员上的 @builtin(name) 属性绑定到系统输入/输出。

主要能力:按类别列出内置函数,包括数学/数值(abs、clamp、mix、smoothstep、fma、pow、sqrt、quantizeToF16 等)、三角函数、几何/向量(dot、cross、normalize、reflect、refract 等)、矩阵(transpose、determinant)、整数/位操作、pack/unpack、纹理采样、导数、原子操作、同步、数组长度等。同时给出内置值表,标明阶段、方向与类型,如 vertex_index、position、frag_depth、local_invocation_id、subgroup_size 等。

使用方式与关键规则:片元阶段且控制流一致时可用 textureSample 等隐式导数内置;顶点或计算阶段必须用 textureSampleLevel 或 textureLoad。dpdx/dpdy/fwidth 仅限片元阶段。workgroupBarrier 等同步内置仅限计算阶段且需一致控制流。跨阶段整数需 @interpolate(flat)。instance_index 含 firstInstance 基址。frag_depth 仅在深度写入启用时有意义且会禁用 early-Z。常量操作数上的数学内置可在编译期折叠。

限制:clip_distances 需 clip-distances 特性;subgroup_* 需 subgroups 特性并在着色器中 enable subgroups。纹理、原子与同步内置的细节由相关技能文档展开。资料未提供具体安装命令、收费或平台信息。