1 WebGPU简介
通过六年的开发和测试,往年5月2日谷歌正式发表Chrome将从版本113开始提供 WebGPU反对,从而在ChromeOS、Windows和macOS设施上实现真切的渲染视觉效果和简单的计算。
WebGPU为Web生态的倒退创始了的新可能性。它能够为沉迷式虚拟世界、交互式数据可视化、高级性能的图像和视频编辑、物理仿真、机器学习等提供反对,所有这些都能够在浏览器中运行。同时,WebGPU还反对围绕Web3、隐衷和平安的新用例。
Web平台在一直地冲破线上利用场景可能性的边界,借助WebGPU以及WebXR、WebTransport和WebCodecs等相干规范,将来的Web平台在性能上效率更高,成果上更真切以及更加凋谢。尽管WebGPU还是一项新兴技术,但它预示了Web在图形渲染和计算上的广大前景。
WebGPU提供了一个底层级API,须要理解图形编程和GPU架构能力无效应用。然而在库、工具和资源的帮忙下,大部分Web开发人员都能够应用 WebGPU。为了更好的不便Web前端的开发者进行更加高效的开发工作,一些国内外团队在尝试将WebGPU封装到更高级别的框架中,用来构建交互式3D场景、运行机器学习模型等。
Orillusion就是在这条路线上最早的尝试者之一。
2 WebGPU倒退历史
WebGPU诞生的目标是代替上一代WebGL规范,从而满足更古代、更高效的Web图形API的需要。WebGL在Web平台上曾经实现了很多令人惊叹的体验,例如Google地球、交互式音乐视频、3D房地产演练等,但它也有一些局限性和挑战,如:
·不足对较新GPU性能的反对,例如计算着色器、光线追踪、VRS可变着色率等。
·因为须要验证每个API的调用并在CPU和GPU内存之间复制数据,因而CPU开销和内存使用率较高。
·因为不同平台对于OpenGL的反对和优化存在差别,WebGL在不同浏览器和平台之间的性能和体现也不统一。
在2016年,Google向WebGL工作组进行了演示,摸索构建全新的Web图形API以最终取代WebGL的根本思维和准则。该演示提出了一个更加底层的API设计,它将公开古代图形API所反对的GPU底层性能,例如command buffers, pipelines, descriptors等。这意味着开发人员能够更好地治理和同步GPU资源。
2017年,苹果的WebKit团队提议基于W3C社区成立专项Group小组的来负责设计这套全新的Web图形API。与此同时,他们基于Apple Metal的概念,发表了名为“WebGPU”的概念技术证实和提案。WebGPU名称起初被社区个人采纳作为将来规范的工作名称。苹果最后的提案后续也被改名为“WebMetal”,以防止和WebGPU这一名称的混同。
W3C社区Group小组开始致力于定义WebGPU标准和 API设计,并失去了Mozilla、Apple、Intel和Microsoft等大公司的反对。该小组基于来自大量的Web前端开发者和行业专家的反馈,最终目标是创立这样一个全新的Web图形API:
·安全性:API应避免常见谬误,例如内存透露、数据争用或可能导致解体或平安问题的有效操作。
·一致性:API应在不同的浏览器战争台上体现成果统一,不须要各家浏览器厂商在不同的平台上进行特定扩大。
·表现性:API应容许开发人员在不就义性能或灵活性的状况下充分利用古代GPU的全副潜在能力。
谷歌的Chromium团队于2017年初展现了第一个名为NXT的概念原型。NXT实现了一个全新的Web图形API,它能够基于Chromium内核与OpenGL一起运行,也能够独立于Chromnium内核,基于OpenGL和Metal单独运行。NXT借鉴了Vulkan、Direct3D 12和Metal这些Native古代图形API的设计思路。
2020年,WebGPU 进入了第一个公共工作草案阶段,这意味着该标准足够稳固,能够承受公众审查和反馈。该标准定义了JavaScript API和WebGPU着色语言 (WGSL),后者基于SPIR-V,旨在与HLSL和GLSL等现有着色语言兼容。
2021年,WebGPU进入候选举荐阶段,这意味着该标准已筹备好进行施行测试和互操作性评估。该标准还定义了一些可选性能,浏览器能够依据其平台反对来启用这些性能,例如 depth-clamping深度截取, anisotropic-filtering各向异性过滤, texture-compression-bc纹理压缩等。借助图形底层技术的改革窗口期,Orilusion团队踊跃拥抱尝试新技术,在这个工夫点正式决定开发一款齐全基于WebGPU规范的国产Web3D引擎。
2023年,WebGPU达到了倡议举荐阶段,这意味着该标准已筹备好取得W3C Director的最终签字通过。该标准还定义了一些能够由浏览器在标签flag或前缀prefix下启用的试验性功能,例如光线跟踪ray-tracing或可变着色率variable-rate-shading等。
2023年4月6日,Google发表,从Chromium/Chrome113开始(5月3号公布),Chromium/Chrome浏览器将在反对Vulkan的ChromeOS设施、macOS和反对 Direct3D 12 的Windows设施上提供WebGPU反对。当下Windows平台的Edge浏览器和Andorid平台设施也曾经开始反对了WebGPU。后续,WebGPU也将陆续反对像 Linux和IOS等设施平台。
3 WebGPU将如何影响游戏开发
WebGPU是将来开发游戏规则的改革者,它实现了 WebGL 无奈实现的新可能性和场景。WebGPU的一些长处和利用案例如下:
1.高性能图形计算:WebGPU容许开发人员利用古代GPU的弱小性能在Web上创立令人惊叹的视觉效果和简单模仿仿真。WebGPU能够解决大量数据的并行计算,例如粒子系统、流体动力学、物理引擎、机器学习、LLM等。WebGPU还能够反对高级的渲染技术,例如光线追踪、暗影、反射、环境光遮蔽等。
2.跨平台兼容性:WebGPU能够在不同浏览器战争台上协同工作同时保障运行成果的一致性,不须要各家浏览器厂商进行针对本人平台的特定扩大开发或解决办法来满足某些非凡需要。WebGPU还能够在反对Vulkan、Metal或Direct3D 12 的挪动设施上运行,这些设施涵盖了大多数古代智能手机和平板电脑。这意味着开发人员能够创立在任何设施上晦涩运行且成果优良的 Web 应用程序。
3.面向未来:WebGPU旨在扩大并适应将来的GPU个性和技术特点。WebGPU能够将新性能特点设定为公开可选的扩大或试验性能,浏览器能够依据其平台反对来自定义启用这些新性能。这意味着开发人员能够提前应用和体验最新、最弱小的GPU性能,而无需期待新规范正式公布或冒兼容性问题的危险。
4.Web3:WebGPU能够使Web应用程序与去中心化网络和协定进行交互,例如区块链、IPFS等。WebGPU还能够反对Web上平安且可验证的计算,例如zero-knowledge proofs(零常识证实)、(homomorphic encryption)同态加密等。这意味着开发人员能够创立更通明、更值得信赖、更有弹性的Web应用程序。
5.Metaverse:WebGPU能够使应用程序在 Web 上创立身临其境的交互式虚拟世界和体验。WebGPU能够反对大规模场景和环境、简单的动画和交互、真切的光照和材质、空间音频和触觉等。这意味着开发人员能够创立更具吸引力、社交性和乐趣的Web应用程序。
6.AIGC: 因为WebGPU提供了compute shader计算着色器,能够让大规模并行计算不在依靠于基于像素的“模仿”计算机制,真正能够使得机器学习在Web环境中得以全面利用。Tensorflow,PyTorch都曾经开始把计算后端对接WebGPU规范。最近火爆的WebLLM等我的项目,基于WebGPU规范也曾经胜利的将大模型 LLM 在浏览器环境中齐全独立运行在了端侧设施上,通过模型压缩,一个链接就能够在本地应用LLM的推理能力。将来合作式AIGC内容创作工作流“训练在云,推理在端”的模式必然会更加遍及和支流,无效升高云端算力压力,提高效率。
Orillusion团队三年前开始关注WebGPU倒退,通过两年多研发,屡次框架重构,性能调优后,Orillusoin引擎在明天以开源的模式正式跟大家见面!咱们致力于在浏览器中实现桌面级的渲染成果,反对超大简单场景的3D出现,为3D场景暴发时代提供底层引擎根底工具。
https://www.bilibili.com/video/BV1Lu411P7tp/?aid=533048923&ci...
Github地址:
https://github.com/Orillusion/orillusion
文档教程:
https://www.orillusion.com/guide/
https://www.bilibili.com/video/BV1FV4y1o7ib/?aid=867712777&ci...
Orillusion致力于打造全世界第一款齐全开源基于WebGPU规范的一种轻量级渲染引擎,指标是在浏览器中实现桌面级的渲染成果,反对超大简单场景的3D出现。易上手,易分享,易迭代,易合作、成本低,跨平台是咱们的外围劣势,咱们将为3D场景暴发时代提供引擎根底工具。
将来咱们将会继续把最干货最前沿的WebGPU技术分享给每一位社区成员,也欢送大家为Orillusion开源社区做出本人的奉献。咱们始终深信,开源社区的技术留痕是每一位技术人员最高尚的谋求!因而,咱们尊重,咱们认可,咱们更期待,退出Orillusion,让咱们共同进步!
——Link uncharted, 链接将来世界