Khronos 会议干货 | WebGPU 1.0 即将发布
-
2022年1月25日 Khronos 组织了一场备受瞩目的 WebGL+WebGPU 网络研讨会。
会议的主要部分有 :-
WebGL 的最新消息和版本更新(WebGL 工作组组长 Ken Russell)
-
WebGPU规范和WebGPU生态的状态更新(Kai Ninomiya)
-
WebGPU的最佳实践案例 (Brandon Jones, Google)
-
WGSL着色器语言在线编辑器展示(Takahiro Aoyagi,Mozilla)
-
PlayCanvas的更新发布(Donovan Hutchence)
我们总结归纳了有关WebGPU的部分,会议内容参考以下链接。
WebGL + WebGPU Meetup - January 2022
https://www.khronos.org/events/webgl-webgpu-meetup-january-2022
WebGPU规范和WebGPU生态的状态更新
WebGPU是Web端的一个新的图形API。它的底层是现代图形API,包括Vulkan,DX12 和 Metal。它采用了pre-validation的方法,例如pipeline objects,bind groups,这些可以避免在运行过程中做draw time validation,并且简化了API 的编程逻辑。另外,相比WebGL,WebGPU还增加了一些新的特性,比如compute shader,shader storage,并且避免了使用global state。WebGPU也为未来的渲染功能打好了基础,像是bindless ray tracing shader features,尽可能多的暴露native端的一些特性,并且能够跨平台夸浏览器的使用。
WebGPU 目前还处于研发阶段,预计将在2022年第二季度发布第一个版本1.0。同时着色器语言的规范也在快速的更迭中。
Orillusion的官网上有WebGPU和WGSL规范的中文版,欢迎小伙伴们来查看,欢迎到我们的GitHub中留言修改。
虽然,WebGPU还处于测试阶段,但已经可以在Chrome和Firefox中使用啦。做本地测试的同学可以使用Chrome Canary或者Firefox Nightly,只需要设置相应的flag就可以。(在正常浏览的时候建议不要开启WebGPU)
-
Chrome Canary: 在 about:flags 中,启用enable-unsafe-webgpu
-
Firefox Nightly: 在 about:config中,设置dom.webgpu.enabled
-
Chrome Origin Trial 注册链接: https://developer.chrome.com/origintrials/#/trials/active
开发者们可以利用Chrome(94+)的Origin Trial,向Chrome申请WebGPU的权限,得到一个Token,放到HTML head里就可以使用特定的API,就可以发布WebGPU的应用给到端用户,在Mac、Windows和Chrome OS系统中都可以。用户不用设置任何的Tag也可以查看WebGPU渲染的内容。
大家可以参考一些WebGPU的资料,包括上面介绍的W3C官方文档,以及一些JS库,例如Babylon.js,Three.js,TensorFlow.js以及用Rust编写的wgpu可以对应使用WebAssembly。在WebGPU 1.0 版本发布前后,Orillusion也会开源,迎来第一批KA developers,届时欢迎大家来探讨和使用。
WebGPU使用一种新的着色器语言WGSL, 有一系列的着色器语言编译器,可以将「WGSL, Vulkan SPIR-V」转译成「WGSL,SPIR-V,HLSL,MSL」。大家可以参考Google Tint和Mozilla Naga。
-
Google’s Tint:https://dawn.googlesource.com/tint
-
Mozilla’s Naga:https://github.com/gfx-rs/naga
WebGPU的最佳实践案例
Brandon Jones在Google工作了9年,是一名Chrome团队的工程师。负责WebGPU的规范文档编辑和开发工作。
最近他开发了第一款完全基于WebGPU的小游戏,Spooky Ball。游戏很简单,里面使用了shadow mapping,bloom filtering for emissive materials, 上传gltf图片,以及一些动画效果。这个小游戏更多是用来测试,WebGPU的API是否可以被正确的使用,并没有发挥WebGPU真正的实力。
Brandon Jones还给出了一些最佳实践案例,我们来看来自Orillusion社区UGC 四季留歌 的站内分享,点击查看!
-