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
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 中留言修改。
Orillusion WebGPU中文文档 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 四季留歌 的分享,点击查看 WebGPU的几个最佳实践
欢迎更多开发者留言,
加入 Orillusion 社区参与讨论!
👇
长按下图,扫码添加管理员微信
欢迎更多的小伙伴可以加入我们的 Orillusion 社区,陪我们一起见证 WebGPU 的发展。我们会尽自己最大的努力把最干货最前沿的 WebGPU 技术分享给每一位社区成员,也诚心的希望大家为 Orillusion 开源社区做出自己的贡献。我们一直坚信,开源社区的技术留痕是每一位技术人员最崇高的追求。因此,我们尊重,我们认可,我们更期待,加入 Orillusion,让我们共同进步!
——Link uncharted, 链接未来世界
Orillusion 团队介绍
Orillusion 团队由帝国理工大学可视化渲染方向博后创建,团队成员具备顶级的学术背景,包括来自海内外名校的硕士博士,如港大,哈工大,北邮等,而且引擎技术研发成员均来自原白鹭引擎核心团队,具备 10 年以上的底层引擎研发经验。我们也一直持续关注优秀企业和开源社区的相关人才,期待更多热爱开源的小伙伴加入 Orillusion,一起改变世界!
团队专注于引擎底层技术研发,主要工作是打造完全开源的 WebGPU 轻量级通用渲染引擎,目标是在浏览器中实现桌面级的渲染效果,以及支持超大复杂场景的 3D 呈现。未来团队会一直专注于引擎底层的技术突破,打造优秀的开源软件及开源区,为 3D 场景爆发时代提供引擎基础工具。
评论