WebGPU 会取代 WebGL 吗?你知道WebGL并使用过吗?如果没有,那你可能一定使用Three.js。本文将向你

WebGPU 会取代 WebGL 吗?你知道WebGL并使用过吗?如果没有,那你可能一定使用Three.js。本文将向你

前言

你知道WebGL并使用过吗?如果没有,那你也一定使用Three.js。在本文,我将向你介绍一下WebGL和其后起之秀 WebGPU。

什么是 WebGL ?

WebGL 的起源

说起WebGL的起源,就不得不提起OpenGL。

在个人计算机的早期,使用最广泛的3D图形渲染技术是Direct3D和OpenGL。Direct3D是微软DirectX技术的一部分,并主要用于Windows平台。而OpenGL是一种开源的跨平台技术,并赢得了众多开发者的青睐。

然后,就是一个特殊的版本 - OpenGL ES。它专门为嵌入式计算机,智能手机,家用游戏机和其他设备而设计。他从OpenGL中移除了很多旧的和无用的特性,并为其添加了一些新的特性。例如,去除了矩形等多余的多边形,而只保留了点、线、三角形等基本图形。这使它在保持轻量级的同时仍然保留足够强大的能力来渲染漂亮的3D图形。

最后,WebGL就是从OpenGL ES衍生而来的。它专注于web的3D图形渲染。

下图显示了它们之间的关系:

WebGL 的历史

从上图可以看出,WebGL已经很老了。不仅仅是因为它的存在时间长,还有它的标准是继承自OpenGL的。

而OpenGL的设计理念可以追溯到1992年,这些古老的概念已经和如今GPU的工作原理不相符合了。

对于浏览器开发者来说,适配不同GPU的特性,给他们带来了诸多不便。

从上图中我们可以看到苹果在2014年发布了Metal。而Steve Jobs是OpenGL ES的忠实支持者,他认为这是行业的未来,所以当时Apple设备上的游戏依然依赖于OpenGL ES(例如愤怒的小鸟,水果忍者)。但在Steve Jobs去世后,苹果放弃了OpenGL ES,开发了新的图形框架Metal。

微软也在2015年发布了自己的D3D12[Direct3D 12]图形框架。紧随其后的是Khronos Group。

Khronos Group是图形行业的一个国际组织,类似于前端圈的W3C和TC39。它的标准是WebGL。甚至他们也逐渐淡化了WebGL,转而支持现在的Vulkan。

到此为止,Metal、D3D12 [Direct3D 12] 和Vulkan并列为三大现代图形框架。这些框架充分释放了GPU 的可编程能力,让开发者可以最大程度地自由控制GPU。

另外,今天的主流操作系统不再将OpenGL作为主要支持。这意味着我们今天编写的每一行WebGL代码90%的不会被OpenGL绘制。在Windows计算机上将使用DirectX绘制,而在Mac计算机上则使用Metal绘制。

从这些可以看出OpenGL已经很老了。但这并不意味着它会消失。它继续会在嵌入式和科学研究等特殊领域发挥作用。

而WebGL也是如此,大量的适配工作使其难以向前推进。于是推出了WebGPU。

什么是 WebGPU?

WebGPU的目标是提供现代3D图形和计算能力。它是由W3C组织(前端的老朋友)制定的标准。与WebGL不同,WebGPU不是OpenGL的包装。并且恰恰相反,它指的是当前的图形渲染技术,一种新的跨平台高性能图形界面。

它的设计更容易被三大图形框架实现,从而减轻了浏览器开发者的负担。它也是一个精确的图形API,完全开放了整个显卡的能力。而不再是像WebGL这样的上层API。

更具体的优点有:

减少了CPU开销

对多线程的良好支持

使用计算着色器将通用计算 (GPGPU) 的强大功能引入Web

全新的着色器语言 - WebGPU Shading Language (WGSL)

未来将支持 实时光线追踪 的技术

WebGPU 的发展现状

目前,WebGPU的API仍在开发迭代中,但我们可以在Chrome Canary中试用

在目前的前端框架中,Three.js 已经开始实现WebGPU的后端渲染器,Babylon.js计划在5.x版本中支持 WebGPU。

结论

我认为WebGPU取代WebGL是大势所趋。而且我相信它在元宇宙场景中有很大的潜力。

你如何看待WebGL?你看好WebGPU吗?

更多内容,请参考:blog.devgenius.io/will-webgpu…

相关作品

源本生活品牌介绍
日博365官网

源本生活品牌介绍

📅 08-08 👀 8468
打卡《无间道》拍摄地,穿梭香港市井,淘在鸭寮街
假的365不让提款怎么办

打卡《无间道》拍摄地,穿梭香港市井,淘在鸭寮街

📅 09-07 👀 3646
QQ宠物城堡守卫战攻略。最好附带图。(城堡守卫战)
假的365不让提款怎么办

QQ宠物城堡守卫战攻略。最好附带图。(城堡守卫战)

📅 07-28 👀 6981