Khronos 会议干货 | WebGPU 1.0 即将发布

原创
2022/02/24 11:09
阅读数 646

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,包括VulkanDX12和Metal。它采用了pre-validation的方法,例如pipeline objectsbind groups,这些可以避免在运行过程中做draw time validation,并且简化了API 的编程逻辑。另外,相比WebGL,WebGPU还增加了一些新的特性,比如compute shadershader storage,并且避免了使用global state。

WebGPU也为未来的渲染功能打好了基础,像是bindless ray tracing shader features,尽可能多的暴露native端的一些特性,并且能够跨平台夸浏览器的使用。

WebGPU 目前还处于研发阶段,预计将在2022年第二季度发布第一个版本1.0。同时着色器语言的规范也在快速的更迭中。

Orillusion的官网上有WebGPU和WGSL规范的中文版,欢迎小伙伴们来查看,欢迎到我们的GitHub中留言修改。

Orillusion WebGPU中文文档GitHub链接

 https://github.com/Orillusion/orillusion-web/tree/master/webgpu/zh/spec

虽然,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的应用给到端用户,在MacWindows和Chrome OS系统中都可以。用户不用设置任何的Tag也可以查看WebGPU渲染的内容。

Orillusion 首页 Demo

 https://www.orillusion.com/


 

大家可以参考一些WebGPU的资料,包括上面介绍的W3C官方文档,以及一些JS库,例如Babylon.jsThree.jsTensorFlow.js以及用Rust编写的wgpu可以对应使用WebAssembly。在WebGPU 1.0 版本发布前后,Orillusion也会开源,迎来第一批KA developers,届时欢迎大家来探讨和使用。

WebGPU使用一种新的着色器语言WGSL, 有一系列的着色器语言编译器,可以将「WGSLVulkan SPIR-V」转译成「WGSLSPIR-VHLSLMSL」。大家可以参考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真正的实力。

Spooky Ball: https://spookyball.com/

Brandon Jones还给出了一些最佳实践案例,我们来看来自Orillusion社区UGC 四季留歌 的分享,点击下方查看👇

https://zhuanlan.zhihu.com/p/461979585


欢迎更多开发者留言,欢迎大家加入 Orillusion 开发者社群,陪我们一起见证 WebGPU 的发展,快来成为 Orillusion 社区第一批 “源” 住民吧!让一起打造有价值、有活力、有温度的共创社区!长按或扫描下方二维码添加小鸥微信吧!

 


Orillusion 致力于打造全世界第一款完全开源基于 WebGPU 标准的一种轻量级渲染引擎,目标是在浏览器中实现桌面级的渲染效果,支持超大复杂场景的 3D 呈现。易上手,易分享,易迭代,易协作、成本低,跨平台是我们的核心优势,我们将为 3D 场景爆发时代提供引擎基础工具。

未来我们将会持续把最干货最前沿的 WebGPU 技术分享给每一位社区成员,也欢迎大家为 Orillusion 开源社区做出自己的贡献。我们一直坚信,开源社区的技术留痕是每一位技术人员最崇高的追求!因此,我们尊重,我们认可,我们更期待,加入 Orillusion,让我们共同进步!

——Link uncharted, 链接未来世界


长按关注 Orillusion 官方微信

第一时间了解 WebGPU 引擎动向,学习开发技巧,一起打造 Web 3D 世界 

                            

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部