Orillusion WebGPU 论坛

随着元宇宙概念的爆炸式呈现,3D渲染技术再次受到了微小关注度。

沉迷、3D世界、虚构社交、虚构购物,这些都是元宇宙的概念实例。就像电影《失控玩家》那样,人们畅想通过AR/VR以及其余互联网技术,把事实世界的楼房街道、天气温度、人际关系等投射到虚拟世界,构建“元宇宙”,领有一个网络分身。

但目前来看,要想实现这一构想,开发者们还有很长一段路要走。毕竟“元宇宙”的背地是宏大的3D虚拟世界构建,须要海量且高质量的3D内容撑持,以还原真实世界。R星引擎的游戏《荒野大镖客》除了游戏世界里各种各样让人赞不绝口的细节之外,在画质上3D世界渲染的技术细节也依然让人惊叹。


《荒野大镖客2》

3D渲染技术的迭代路线分成了两种技术计划:Native和Web。

Native,是咱们的电脑、手机等硬件设施,通过装置本地的应用程序APP,间接通过图形API和相关驱动调用显卡的计算和渲染能力,实现实在物体的3D渲染数字化的过程。

Web,是通过浏览器,在网页页面中,实现事实世界的数字化渲染的过程。

打趣的说,抉择Native技术栈还是Web技术栈,这是一个哲学问题。两种技术计划都有本人的劣势和劣势,同时单方的生态也都比拟丰盛,很多我的项目从最终的技术实现角度来说,抉择哪一条路线都能够实现。

Native 3D渲染的倒退

1992年,Khronos制订了第一代的渲染引擎的图形学的框架叫做OpenGL 1.0,包含当初很多电脑用的基本上3D利用都是基于OpenGL。OpenGL也在不停的倒退,目前最新版是2017年公布的OpenGL 4.6版本。同时,也呈现了专门为挪动端设计的OpenGL ES版本。因为OpenGL是开源和跨平台的,不不便为Windows做优化,1996年,微软作为第一大操作系统的提供商,公布了本人的图形API Direct3D。DX5/DX6/DX9有很多游戏的代表作,《古墓丽影》《极品飞车》都是过后的作品。

倒退到了2009年,微软提出了DX11版本,有一个比拟大的个性,计算着色器。简略说就是在图形的渲染能力上,能够更加充沛的调用显卡的并行计算能力

2014年,微软公布了下一代图形渲染API DX12,同年6月份,苹果在WWDC大会上公布了本人的图形学API Metal。2015年,Khronos公布了Vulkan。最早是公布的 OpenGL,随着显卡能力的晋升,OpenGL的全局状态机设计离线,曾经无奈调用和优化先进古代显卡的能力。能够说Khronos不在会全力以赴的长期降级和保护OpenGL,反而抉择公布了全新架构的古代图形API,即Vulkan

2014年这个节点,就造成了三种古代图形学API并驾齐驱的状况。目前所有电脑上的游戏,或者一些3D利用,包含CG渲染动画,为了达到最好的渲染成果,简直都会采纳这三种古代图形API。

Web 3D渲染的倒退

总体来说,在Web上渲染3D内容的相干技术倒退还是比拟迟缓的。最早的时候在浏览器是无奈实现3D内容的,须要装置Flash插件。在校内网时代,那些农场类的游戏利用,以及在浏览器里看视频音频,简直都须要装置Flash插件。2020年的时候,因为有一些平安的问题和其余种种原因,Adobe发表进行保护Flash这项技术。

在Flash的倒退过程中,呈现了HTML5的规范,简称H5。2008年的时候,H5雏形呈现。人们不须要在浏览器外面装Flash的插件,可能间接播放视频音频,包含通过Web原生的Canvas组件实现一些动画成果。

真正的Web 3D的技术标准的呈现,是WebGL。因为浏览器人造具备的易分享等劣势,在Web中展现和渲染3D内容始终都具备大量的需要。Khronos在2009年启动WebGL规范的探讨和制订工作。WebGL思路很简略,就是依附浏览器的内核,对OpenGL ES版本做打包和封装,而后就能够让浏览器里的这些JS前端开发者间接用Web环境去调用底层的图形学能力,最终展现3D内容。当然也就意味着WebGL能力被限度到了OpenGL的时代。

Web的技术在继续疾速的倒退。尤其2014年,Native侧曾经出了三大古代图形API了: DX12, Vulkan, Metal。在2017年的时候,W3C就提出在Web侧倒退下一代图形学的技术标准,即WebGPU。跟WebGL一样,WebGPU的思路就是对三个古代图形API间接打包,而后在实现跨平台的同时,让浏览器外面间接能够调用这三个古代图形API能力,实现高质量的渲染成果,调用GPU的弱小计算能力。

WebGPU Wikihttps://en.wikipedia.org/wiki/WebGPU

咱们熟知的Unity和Unreal就是典型的Native技术栈下的3D渲染引擎产品,而Web端也有赫赫有名的Three.js,Barbylon.js, Cesium.js 和 Playcanvas等等。面对这样两条路线,上面聊一聊对于技术栈抉择上的思考。

Web劣势1: 生态的倒退和遍及水平广

从技术角度来看,Web绝对于Native的倒退绝对是迟缓的。因为很多最新的技术都会在Native上最先实现。然而因为Web自身独特的劣势,跨平台,易分享,易协同等等,始终都很受技术人员和多种利用场景的青眼。

浏览器厂商的致力也不容忽视,尤其是Chrome。为了保障Chrome 100这个历史时刻的版本能尽早的公布,从94版本开始,将6周一更新晋升到4周一更新。(Chrome 94版本也是第一个正式启动WebGPU API的商用版本,而不在是通过Chrome Canary的developer版本能力体验的WebGPU的能力。)

Chromium Bloghttps://blog.chromium.org/2021/03/speeding-up-release-cycle.html

浏览器承载的Web生态正在飞速的倒退。上面的开源报告中对于开源环境技术方向的统计后端是最多的。然而咱们能够看到,第二个就是Web的生态,也证实了Web生态是十分有后劲的。

2020年开源环境技术方向

上面是2020年编程语言的散布报告。最多的是Java,第二就是前端语言JS,如果把HTML语言也包含其中,那Web的语言遍及度劣势将更加显著。这足以阐明Web是一个疾速倒退具备微小后劲的技术栈生态。

2020年编程语言的散布

2020中国开源年度报告https://kaiyuanshe.cn/document/china-os-report-2020/2020%20%E4%B8%AD%E5%9B%BD%E5%BC%80%E6%BA%90%E5%B9%B4%E5%BA%A6%E6%8A%A5%E5%91%8A.pdf

Web劣势2: 免装置客户端,跨平台个性

Native端,须要装置APP应用程序,在某些场景,对于用户来说是一个很高老本的行为。能够设想一下,如果你的家装设计师为你设计的室内3D全景渲染图,不是通过微信间接分享给你的(微信自身所有的分享内容都是基于Web),而是要求你要在手机或者电脑上装置一个几百M甚至几个G的应用程序能力观看,那是一种什么体验呢?

Web就很好的解决了这一个问题。咱们不在须要为不同的场景装置不同的客户端,而是通过一个URL链接,就能够立即浏览你想看到的任何内容。

换一个角度去思考,不仅不须要用户装置客户端,而是咱们曾经通过硬件设施中的浏览器触达到用户了。独自Chrome的寰球装机量为26亿,占全副浏览器市场占有率的60%;排名第二个也是采纳了Chromium内核的Edge浏览器,市场占有率为18%。

2020年-2021年寰球浏览器市场占有率

基于Web环境做任何的内容开发,也都因为这种人造的跨平台个性,实现了升高研发老本的目标。Orillusion团队也竭力打造Web端的3D渲染引擎。开发者们不须要在思考为了一个我的项目开发不同的APP,来适配不同的操作系统。因为浏览器曾经帮咱们实现了不同平台的适配工作。只有在一台主机的Chrome里能失常关上,那么在其余主机的Chrome里也能够失常关上。

咱们目前梳理了Native和Web在3D渲染这个场景中的倒退历史和技术演进。同时,也从开发者生态和免客户端跨平台这两个方面,论述了一些Native和Web技术路线的比照和剖析。在接下来的内容里,咱们会给出更加深刻的思考,心愿大家继续关注。

对于文章后面提出的打趣观点: 抉择Native技术栈还是Web技术栈,这是一个哲学问题,也欢送更多的Native和Web开发者一起留言,退出Orillusion社区参加探讨!

如何退出Orillusion WebGPU社区?

第一步:长按下图,扫码增加管理员微信

第二步:填写论坛注册申请表

第三步:查看邮箱,点击注册申请链接

第四步:注册胜利,欢送留言发帖


欢送更多的小伙伴能够退出咱们的Orillusion社区,陪咱们一起见证WebGPU的倒退。咱们会尽本人最大的致力把最干货最前沿的WebGPU技术分享给每一位社区成员,也诚心的心愿大家为Orillusion开源社区做出本人的奉献。咱们始终深信,开源社区的技术留痕是每一位技术人员最高尚的谋求。因而,咱们尊重,咱们认可,咱们更期待,退出Orillusion,让咱们共同进步!

——Link uncharted, 链接将来世界

Orillusion 团队介绍Orillusion团队由帝国理工大学可视化渲染方向博后创立,团队成员具备顶级的学术背景,包含来自海内外名校的硕士博士,如港大,哈工大,北邮等,而且核心技术研发成员也均为行业内深耕10年以上的技术专家,来自白鹭,AutoDesk等优良企业。咱们也始终继续关注优良企业和开源社区的相干人才,期待更多酷爱开源的小伙伴退出Orillusion,一起扭转世界!团队专一于引擎底层技术研发,次要工作是打造全世界第一款齐全开源的WebGPU轻量级通用渲染引擎,指标是在浏览器中实现桌面级的渲染成果,以及反对超大简单场景的3D出现。将来团队会始终专一于引擎底层的技术冲破,打造优良的开源软件及开源区,为3D场景暴发时代提供引擎根底工具。