草庐IT

Web or Native 谁才是元宇宙的未来(上)?

Orillusion 2023-03-28 原文

随着元宇宙概念的爆炸式出现,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 的强大计算能力。

我们熟知的 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 的能力。)

浏览器承载的 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 技术路线的对比和分析。在接下来的内容里,我们会给出更加深入的思考,希望大家持续关注。

有关Web or Native 谁才是元宇宙的未来(上)?的更多相关文章

  1. 映宇宙2022年营收63亿元:同比下降三成,毛利率提升4.3个百分点 - 2

    3月26日,映宇宙(HK:03700,即“映客”)发布截至2022年12月31日的2022年度业绩财务报告。财报显示,映宇宙2022年的总营收为63.19亿元,较2021年同期的91.76亿元下降31.1%。2022年,映宇宙的经营亏损为4698.7万元,2021年同期则为净利润4.57亿元;期内亏损(净亏损)为1.68亿元,2021年同期的净利润为4.33亿元;非国际财务报告准则经调整净利润为3.88亿元,2021年同期为4.82亿元,同比下降19.6%。 映宇宙在财报中表示,收入减少主要是由于行业竞争加剧,该集团对旗下产品采取更为谨慎的运营策略以应对市场变化。不过,映宇宙的毛利率则有所提升

  2. ruby - Ruby 的排序方法如何与组合比较(宇宙飞船)运算符一起工作? - 2

    这里是初级程序员,只是想了解Ruby背后的过程sort使用飞船操作符时的方法.希望有人能帮忙。在以下内容中:array=[1,2,3]array.sort{|a,b|ab}...我明白sort一次比较一对数字,然后返回-1如果a属于b之前,0如果它们相等,或者1如果a应该遵循b.但是在降序排序的情况下,像这样:array.sort{|a,b|ba}...到底发生了什么?是否sort还是比较ab然后翻转结果?或者它是在解释return的-1,0和1具有相反的行为?换句话说,为什么要像这样将变量放在block中:array.sort{|b,a|ba}...结果与第一个示例中的排序模式相同?

  3. 一个非常明显的现象,正在发生——元宇宙正在被越来越多的人所推崇 - 2

      一个非常明显的现象,正在发生——元宇宙正在被越来越多的人所推崇,无论是科技巨头,还是资本巨头,几乎都是如此。同时,区块链则正在一点一点地回归理性与客观。对于区块链来讲,这是一个好现象。它告诉我们,人们对于区块链的狂热而激进的认识,正在被一步又一步的校正和纠偏。由此,区块链行业的发展,将会真正进入到一个全新的发展阶段。  同以往人们仅仅只是将区块链看成是一个概念,并以此来获取资本和流量不同。当人们对于区块链的认识变得深入,资本和流量反倒不再是区块链玩家们真正关心的问题。至少从当下情况来看,那些依然还在区块链行业里坚守的玩家们,更多地在坚持长期主义,更多地在寻求区块链与行业结合的正确的方式和方

  4. 科创人·数智未来私董会第4期:转型的实证-幸存者偏差与盲人摸象 - 2

    所有技术终将演变为基础设施。2022年6月11日,科创人·数智未来私董会第4期活动在线举办,本次活动由科创人、北航投资、方云智能联合举行;微软(中国)首席技术官韦青担任本期活动主讲嘉宾,携手14位企业高级决策者围绕数智未来课题进行深度探讨。科创人·数智未来私董会第3期活动回顾|《狗尾巴的故事-数智时代的第一性原理》与会嘉宾依次是:微软(中国)CTO韦青、领鹊科技创始人&CEO张志祥、食方科技创始人&CEO黄龚、中科云创创始人&CEO周北川、北航投资总经理王剑飞、中煤信息技术首席专家黄韶杰、天云数据创始人&CEO雷涛、中国农业银行科技与产品管理局信息安全与风险管理处处长何启翱、索迩科技创始人&C

  5. 未来的趋势————以ChatGPT为标杆的AI对生活的影响是巨大的 - 2

    文章目录前言1.AI的发展历程2.我是如何接触到人工智能的概念和产品的3.对于ChatGPT的一点看法4.AI对大学毕业生的职业发展的利与弊5.对于AI的思考和问题前言随着ChatGPT的爆火,生成式AI,大模型的人工智能被越来越多的人注意到,同时他也带来了许多问题。本文将对几方面进行探讨。1.AI的发展历程远古时期在公元前第一个千禧年,中国,印度和希腊哲学家都提出了一些推理的研究理论,比如亚里士多德(Aristotle)进行了演绎推理三段论的完整分析,欧几里得(Euclid)所著Elements是一种形式推理的模型,MuḥammadibnMūsāal-Khwārizmī,发明了代数学,即我们

  6. “数实融合 元力觉醒”,苏州市元宇宙生态大会圆满召开! - 2

     为贯彻落实《苏州市培育元宇宙产业创新发展指导意见》,抢抓数字经济发展新机遇,加速培育与元宇宙发展相关的技术底座,“数实融合元力觉醒——苏州市软件行业协会元宇宙专委会成立大会暨元宇宙生态大会”于4月14日成功举办。 苏州和数智能软件有限公司作为苏州市软件行业协会元宇宙专委会轮值理事长单位,参加了“元宇宙专委会揭牌与轮值理事长单位授牌仪式”。 大会上,数字主持人“丹丹”向社会发布了由苏州市软件行业协会、苏州市软件行业协会元宇宙专委会、西交利物浦大学、苏州科技大学、苏州和数智能软件有限公司等单位编写的《元宇宙行业分析报告2023》。该报告立足苏州、辐射长三角,系统梳理了元宇宙行业现状、元宇宙核心技

  7. 互联网时代“陨落”,国家发布元宇宙战略的信号对失业和担心失业的我们带来了什么启迪? - 2

    互联网这头“猪”真的掉下来了流量红利已经一去不复返了!3年前业界其实已经发出各种密集信号,在当时无论是BAT还是一些经济学家在3年前都已经预测过,互联网的流量模式已经衰竭,并且它将一去不复返。曾经处于互联网大潮的我们这一代人有喜有有悲也有感慨。还在4-5年前不少程序员会发觉在一个地方工作一年再跳一家公司,工资翻倍是至少的。其实这不是能力的表现这只不过是因此我们赶上了互联网流利红利、风投资本红利的“风口”而己。“赶上风口就连老母猪都能上树"用于形容当时的情形一点不为过。可是这个“风”这次是真的过去了,因此这头“猪”掉了下来,而且这次摔了还挺狠,直接给摔成了肉饼。业务模式、生态、环境的变革是时代的

  8. ruby - 为什么排序或宇宙飞船(飞碟)运算符 (<=>) 在 Ruby 中不能处理 bool 值? - 2

    在“Isitpossibletosortalistofobjectsdependingoniftheindividualobject'sresponsetoamethod?”中,我发现飞碟对bool值不起作用。考虑:ruby1.8.7:[true,false].sort#=>undefinedmethod`'fortrue:TrueClass(NoMethodError)truefalse#=>undefinedmethod`'fortrue:TrueClass(NoMethodError)ruby1.9.3:[true,false].sort#=>comparisonofTrueCl

  9. ruby - 什么是 Ruby <=>(宇宙飞船)运算符? - 2

    什么是Ruby(宇宙飞船)运算符(operator)?该运算符是否由任何其他语言实现? 最佳答案 spaceshipoperator将返回1、0或−1,具体取决于左侧参数相对于右侧参数的值。ab:=ifabthenreturn1ifaandbarenotcomparablethenreturnnil它通常用于对数据进行排序。它也称为三向比较运算符。Perl可能是第一个使用它的语言。其他一些支持它的语言是ApacheGroovy、PHP7+和C++20。 关于ruby-什么是Ruby(宇宙

  10. javascript - String 和 Array 泛型方法将在未来被弃用 - 2

    在下面的链接(MDN站点)上它说“字符串泛型是非标准的,已弃用并且将来可能会被删除。请注意,如果不使用下面提供的填充程序,您不能跨浏览器依赖它们。“他们所指的方法是否是他们在该声明下方提供的垫片中列出的方法?这是我见过的唯一提到短语“字符串泛型”的地方,所以让我很困惑。对于数组泛型也有同样的问题,因为该站点也提到了类似的情况。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#String_generic_methodshttps://developer.mozi

随机推荐