17 Tellusim WebGPU update

我们根据最新的 API 和 WGSL 更改更新了 WebGPU 后端。更多 Tellusim Core SDK WebGPU示例现已在 Web 浏览器上运行。最先进的测试是基数排序傅里叶变换,它们是许多算法的主要模块。需要最新的Chrome Canary版本。不幸的是,Firefox Nightly 无法再运行任何 WebGPU 示例。

在Clay Shader Compiler的帮助下,我们可以避免在WGSL中编写着色器。顶点、片段和计算着色器可以轻松地从GLSL生成。您可以使用它进行离线着色器转换。如果需要,我们还可以创建一个基于 wasm 的库,该库可以根据请求在运行时执行着色器转换。

WGSL 比 GLSL 受到更多限制,但即使有这些限制,我们也可以在 WebGPU 上运行 Shadertoy 演示(您可以使用“1”和“2”键在演示之间切换)。不存在多通道演示,因为它们需要 32 位浮点过滤,而 WebGPU 不提供该功能。

响应式图像
响应式图像
响应式图像

我们希望在未来的 WebGPU 更新中看到很多东西,因为现在它的灵活性不如老式 OpenGLES 3.2:

  • 非原子缓冲区的原子操作它为不同的算法提供了极大的灵活性,因为单个 SSBO 可用于不同的资源。
  • 存储镜像的原子操作计算光栅化算法的一个关键功能。它可以用原子缓冲区进行模拟,但 WebGPU 上的纹理和缓冲区之间没有直接的内存映射。此外,读写存储映像操作不可用。
  • 多次抽签间接所有台式机都支持它,它可以显着提高效率和性能。当前的 WebGPU 规范仅支持单个间接绘制命令。
  • 用户定义的剪辑距离只有少数移动 GPU 不支持它。这对于使用单个绘制调用渲染多个阴影贴图至关重要。
  • 32 位浮点纹理的线性采样这是必须具备的功能。WebGL 可以做到。

所有这些改进将帮助我们使用 WebGPU 后端运行 GPU 驱动的场景图和渲染。
我们很高兴看到GravityMark将来在 WebGPU 上运行!

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注