对于Web3D领域的两个非常优秀的引擎,大家肯定都不陌生,他们就是Three.js和Babylon.js。
说到构建WebGPU引擎,你一定会问为什么不是Three.js或Babylon.js?
Three.js是JavaScript语言开发。2010年,西班牙开发者Ricardo Cabello (Twitter: mrdoob)在Github上放出了第一个public版本。
我们熟知的WebGL是在2009年被Khnoros组织提出,可以说Three.js的发展史,就是WebGL标准的发展史。
Bablyon.js是TypeScript语言开发,是由微软内部团队,于2013年主导的另外一款引擎。它的封装更加高层,功能也相对复杂很多,而且拥有很多比较成熟的工具,比如Node Material Editor。相比Three.js,Babylon.js可以说更像一款比较成熟的Web3D游戏引擎。
但是由于timing的原因,Github上的Star数量,截止2022年2月,Three.js(78.8k)远高于 Babylon.js(15.8k),Three.js依然是基于WebGL标准下最为流行的Web 3D引擎。
为什么不是Three.js or Babylon.js?
WebGPU标准的发展,也一直被广泛关注。Three.js和Babylon.js,已经在相应的分支,做了WebGPU能力的接入和一些Demo的展示。我们看到了他们的实现和demo,也更加的相信,WebGPU引擎这件事儿,大概率他们做不成。
因为Three.js和Babylon.js两个引擎架构都是为了WebGL而设计的,而WebGPU对比WebGL可以说发生了翻天覆地的变化,取消了全局状态机,给了开发者过多的权限来控制内存,增加了Compute Shader等等。因此,Three.js和Babylon.js不能说是支持了WebGPU,只能说接入了WebGPU,但是由于历史包袱,根本无法发挥出来WebGPU的优势。
口说无凭,通过一系列的测试,我们得出这样的结论。测试环境和具体数据,请听下回分解。
Three.js的WebGPU Demo,跟WebGL Demo来比,几乎没有什么提升。封装更加高层和复杂的Babylon.js,WebGPU 的Demo的实现竟然比WebGL还要慢。
相比之下,目前我们的Orillusion官方放出的Demo,比WebGL引擎快了将近5倍。下一个版本的对比特性,我们已经快了10倍。如果发挥到WebGPU性能的极致,可以快出30倍。
https://demo.orillusion.com/ecs/example/asteroids.html
如果Three.js和Babylon.js真的想做一款可以充分发挥WebGPU性能的引擎出来,那只能壮士断腕,对引擎框架进行彻底的重构。因为Three.js和Babylon.js的历史包袱太重了,他们有大量的用户,有大量的功能实现,完全放弃而进行重新开发,这是需要巨大勇气的,而且我们目前没有看到任何这样的迹象。
所以有的时候,做的早不一定做的好,这也就是技术迭代带来的新机遇。
我们可以等未来某天Three.js和Babylon.js重构架构支持WebGPU,可能是半年?甚至是一年?但是,在这么好的一个时间节点,为什么中国的团队不能做出一款同样优秀的Web 3D引擎,实现弯道超车呢?
之前我们擅长于场景创新和商业模式创新。但是,在这样一个好的时间节点,我们应该把精力放在底层的技术研究上:这是一种思维模式的改变,更是一种认知的改变。
元宇宙正在朝我们走来,3D渲染的场景未来会暴增。有了核心的3D底层技术,上层场景才会有无限的可能。中国的技术开发者需要时间,中国的基础软件需要时间。在这个过程中,Orillusion希望能做出一点儿贡献。
欢迎更多开发者留言,
加入Orillusion社区参与讨论!
长按下图,扫码添加管理员微信
欢迎更多的小伙伴可以加入我们的Orillusion社区,陪我们一起见证WebGPU的发展。我们会尽自己最大的努力把最干货最前沿的WebGPU技术分享给每一位社区成员,也诚心的希望大家为Orillusion开源社区做出自己的贡献。我们一直坚信,开源社区的技术留痕是每一位技术人员最崇高的追求。因此,我们尊重,我们认可,我们更期待,加入Orillusion,让我们共同进步!
——Link uncharted, 链接未来世界
Orillusion 团队介绍
Orillusion团队由帝国理工大学可视化渲染方向博后创建,团队成员具备顶级的学术背景,包括来自海内外名校的硕士博士,如港大,哈工大,北邮等,而且核心技术研发成员也均为行业内深耕10年以上的技术专家,来自白鹭,AutoDesk等优秀企业。我们也一直持续关注优秀企业和开源社区的相关人才,期待更多热爱开源的小伙伴加入Orillusion,一起改变世界!
团队专注于引擎底层技术研发,主要工作是打造全世界第一款完全开源的WebGPU轻量级通用渲染引擎,目标是在浏览器中实现桌面级的渲染效果,以及支持超大复杂场景的3D呈现。未来团队会一直专注于引擎底层的技术突破,打造优秀的开源软件及开源区,为3D场景爆发时代提供引擎基础工具。