SuperAPI AI 工具集

webgpu-impl-render-usecases

通用与其它

查看项目

更新于 10-15 22:18

技能介绍

用途:为 WebGPU 常见渲染工作负载提供 API 级设置指引,覆盖 PBR 材质、全屏 pass、后处理链以及 SSAO、SSR 等屏幕空间效果,面向 WebGPU 1.0 稳定版(Chrome 113+、Safari 26+、Firefox 141+)。

主要能力与用法:PBR 材质使用两个 uniform buffer(矩阵、材质参数)、三张 texture_2d<f32>(albedo、法线、金属度-粗糙度)、一个过滤采样器和一个 bind group,Cook-Torrance BRDF 写在 WGSL 片元着色器中。全屏 pass 不绑定顶点缓冲,由 @builtin(vertex_index) 在顶点着色器生成三个顶点,用 pass.draw(3) 绘制,管线省略 vertex.buffers。后处理将场景渲染到离屏纹理,每个效果一个全屏 pass,采样上一结果写入下一结果。屏幕空间效果把深度缓冲绑定为 texture_depth_2d,配合逆投影矩阵从非线性深度重建视图空间位置。

关键约束:从裁剪空间位置推导 UV 时必须翻转 Y(帧缓冲 Y 向下、裁剪空间 Y 向上);WebGPU 裁剪空间 Z 为 0 到 1,不可复用 WebGL 的 [-1,1] 投影矩阵;albedo 用 rgba8unorm-srgb,法线与金属度-粗糙度用线性 rgba8unorm;深度纹理不可用过滤采样器,需 textureLoad、非过滤采样器或比较采样器;同一渲染 pass 中不可采样仍作为附件的纹理。

限制:资料未提供收费、价格、平台支持范围或效果数据;具体代码示例见其 references 文件,本介绍不展开。