用途:在编写 WebGPU 着色语言(WGSL)着色器代码时使用,涵盖类型、声明、运算符、控制流和函数,避免触发着色器创建错误。WGSL 是 WebGPU 1.0-stable 的着色语言,静态类型,每个表达式在着色器创建时即确定类型。
主要能力:提供类型速查(标量 bool/i32/u32/f32/f16、向量 vec2/3/4、矩阵 matCxR、固定与运行时数组、结构体、原子类型、类型别名)、四种声明形式(var、let、const、override)的决策树,以及核心模式与常见反模式说明。
必要用法与关键规则:类型别名必须用 alias 关键字,WGSL 没有 type 关键字;运行时大小数组 array<T> 只能作为 storage 地址空间结构体的最后一个成员,长度用 arrayLength(&ptr) 查询;switch 必须有 default 子句且无 C 风格贯穿;函数参数按值传递,需修改调用方内存时用 ptr 参数并传 &var;禁止递归,静态调用图必须无环;禁止混用 .xyzw 与 .rgba 分量;使用 f16 或 h 后缀需 enable f16; 及 shader-f16 设备特性;入口点函数不可被其他 WGSL 代码调用;WGSL 1.0 无用户可声明的 const 函数。
适用场景:编写或审查 WGSL 着色器、排查着色器创建错误时参考。
限制:资料未提供安装命令、收费、价格与平台支持细节;具体地址空间与内存布局、内置函数、顶点着色器等由相关技能另行说明。