云帆VR数字孪生研发中心:为什么 WebGL 2.0 是获得更好的 3D 网络图形的途径。
时间:2023/1/4
WebGL 2.0 在非常成功的 WebGL 1.0 的基础上发展成为一项强大的技术,现在已在 Web 上的众多专业 CAD 和 3D 应用程序中得到全面部署。此功能描述了历史以及为什么 WebGL 2.0 是一个如此重要的标准。作为虚拟现实行业第一批创业者,云帆VR数字孪生研发中心的专家们从不同角度分析三维技术特点以及其对于未来发挥的作用和未来的发展走向。
作为我们活动的结果,我们每天都在处理推动 AEC 和制造业发展的 CAD 和 3D 应用程序,以及这些应用程序背后的核心技术。今天很少有核心技术像 WebGL 一样重要。
为什么 WebGL 如此重要。
WebGL 很重要有几个原因。作为一项技术,它是一种适用于现代网络浏览器的“无插件”3D 图形技术。互联网长期以来一直尝试通过插件在浏览器中创建 3D 图形,但一般用户在管理插件过程方面经验不足,安装插件的过程干扰了当今的业务期望。所以没有插件。
WebGL 1.0 目前被大量使用,它允许像 Onshape 和 Frame 这样的专业应用程序在许多操作系统的现代网络浏览器中运行。它运作良好是因为它利用了 OpenGL 的开放性,WebGL 2.0 将推进这一标准并推动 Web 上所有类型的专业 3D 应用程序的创新。
WebGL 还基于 OpenGL ES,这是一个非常成功的便携式图形开放行业标准,适用于所有主要计算机操作系统。虽然从工作站到智能手机的所有类型设备的硬件 3D 功能都出现了大规模爆炸式增长,但在 Khronos Group 成立 WebGL 工作组和一套开发标准。
WebGL 的历史。
WebGL 1.0 于 2011 年推出,这一年 Apple iPad 开始引起 AEC 等商业领域的广泛兴趣。WebGL 已将自己确立为跨平台、免版税的 Web 标准,可将带插件的高质量 3D 图形带入 Web 浏览器。它是迄今为止市场上使用最广泛的 Web 图形 API,并得到 Apple、Google、Microsoft 和 Mozilla 等所有主要浏览器供应商的支持。
WebGL 的故事始于 2006 年,当时的 Mozilla 高级工程师 Vladimir Vukicevic 开始在 Web 上试验 3D 概念,当时 JavaScript 远没有像今天这样普及。在 Mozilla 期间,他开始在 Canvas 中创建 OpenGL 3D 上下文的原型,然后转向 Khronos 小组,为以网络为中心的 OpenGL 变体(后来称为 WebGL)启动了一个新的工作组。
早期的 WebGL 支持者。
早期的 WebGL 支持者包括 AMD、Apple、Microsoft、Mozilla、Google、Intel、Nvidia、Opera 和 Qualcomm。这个小组帮助重新定义了 Web 图形的标准,这在当时是 Adob e Flash 和 Unity 的 3D 播放器等专有技术的混合体。此类技术要求用户安装某些东西,通常是插件。然而,每次要求安装插件时,用户的兴趣都会下降,因此 WebGL 从一开始就应该是自动的,不需要最终用户使用。
WebGL 工作组的目标很简单:将 3D 图形带到网络上,在任何浏览器中,对最终用户没有安全问题,没有插件和高性能。
“我们希望成功地为大量网络用户利用视觉表达的力量,”谷歌和 WebGL 工作组主席软件工程师 Ken Russell 说。Nvidia 系统工程师 Olli Etuaho 补充说:“主要原则很明确:在尽可能多的地方保持稳健、便携、稳定和强大。此外,最终用户也不会有安全问题。”
克服障碍——通往成功的 WebGL 标准的漫长道路。
WebGL 并没有立即取得成功,尽管列出的重量级人物主要支持新标准。由于 API 可以访问数据,因此对安全性存在疑问。为了解决这个问题,工作组开发了 WebGL,使图形内存在使用前总是被初始化,这样网页就无法访问它们不应该访问的数据。还内置了许多其他安全层,为开发人员及其最终用户提供 WebGL 工业强度的安全性。
WebGL 必须克服的另一个挑战是证明其在市场上的性能。工作组确保所有主要浏览器开发人员都支持新标准,并且合规性测试可以表明 WebGL 代码可以跨所有浏览器移植。
“人们很早就对 WebGL 持怀疑态度,即使是在 3D 领域。插件来来去去,出现了各种问题,因此人们并不完全相信 WebGL,”Mozilla 的高级软件工程师兼 WebGL 负责人 Jeff Gilbert 说。“对 WebGL 的游戏开发抱有很大的乐观态度。” Gilbert 评论说:“我们会投资,因为我们相信 WebGL。我们真的希望 WebGL 能在几年内大放异彩。”
WebGL 的一个优势是它是一种开放标准,可供公司免费使用。作为一个开源 API,这意味着来自 Github 的反馈通过问题和一致性测试的拉取请求很重要,社区发挥了重要作用。
“开放参与在 WebGL 2.0 的开发中绝对是至关重要的,尤其是伴随它进行的一致性测试,并且知道我们需要在哪里投入我们的开发时间以确保它是可移植的并为最终用户提供他们需要的东西, ”拉塞尔说。“在一个封闭的论坛中,它不可能奏效,至少不会那么好。”
制定合作标准。
WebGL 为开发项目中的开放协作设定了良好的标准。通过在 GitHub 等共享工具上进行大量工作,它提高了流程效率,更好地利用资源并显着减少了重复工作。例如,通过满足所有需求的通用代码库,每个人都可以集中资源并专注于改进。
即使在向世界各地的开发人员开放源代码之后,WebGL 也没有开辟新天地。WebGL 汇集了不同的操作系统和硬件供应商以实现共同的目标。当 Web 开发人员试图在所有设备上以相同的方式执行他们的 WebGL 代码时,会发现底层图形 API 中的许多极端情况以及图形驱动程序错误。虽然没有软件是没有错误的,但 WebGL 承诺您的图形代码一次编写,随处可用。WebGL 工作组与所有硬件供应商密切合作,报告并修复这些错误,并添加一致性测试以确保它们得到修复。这种与社区和 GPU 供应商的密切合作提高了图形生态系统的整体质量。WebGL流入其合作伙伴,为所有参与的人创造双赢的局面,
通往 WebGL 2.0 的里程碑
在通往 WebGL 2.0 的道路上有许多重要的里程碑,谷歌地图成为最大的用户之一。这是测试 WebGL 稳定性和寿命的重要一步。
虽然 WebGL 1.0 是革命性的,因为它允许在没有插件的情况下在 Web 上加速 3D 内容,但它仍然是仿照旧 API OpenGL ES 2.0 建模的,它有一定的局限性。WebGL 2.0 于 2017 年 1 月在 Chrome 和 Firefox 中发布,并带来了 OpenGL ES 3.0 的许多新功能。
WebGL 2.0 的设计首先整合了一些通过 WebGL 1.0 扩展提供的功能,然后减少了一些施加在 WebGL 上的限制,以确保它能够在尽可能多的环境中可靠地运行。由此产生的 WebGL 2.0 是一个更加灵活的 API,可以更方便地实现高级效果。
更新 WebGL 2.0 功能的架构是最大的一项任务,但 WebGL 工作组并不孤单。所有新的 OpenGL ES 功能都必须重新集成到旧架构中,英特尔的 GPU 团队帮助进行了规范和测试。Nvidia 还为规范、测试和实施工作做出了贡献。API 的每个方面都以某种方式进行了更新,并且每次升级都经过了全面测试。仅一致性测试就花了将近一年的时间,但有必要在一系列设备和浏览器中定义一致的行为和 API。
Khronos Group 生态系统和 WebGL 的未来。
正如本网站多次提到的,WebGL 是通过 SaaS 模型交付的专业应用程序背后的核心技术。Onshape 等重要的新 MCAD 应用程序是完全基于 SaaS 的 CAD 应用程序,可通过现代浏览器运行。
由 Khronos Group 负责进一步开发的 WebGL 的重要性不容低估。Khronos 将浏览器和 GPU 供应商聚集在一起,WebGL 的成功是这些社区之间密切合 作的直接结果。Khronos 在将这两个社区结合在经过验证的 IP 框架下有着悠久的传统,这从法律的角度来看很重要。
低级显式 API 指令。
随着 Vulkan 等显式、低级图形 API 的新时代的到来,WebGL 方面背后的人们自然而然地对它产生了兴趣。Khronos 集团欢迎业界对 WebGL 朝这个方向的发展进行讨论。WebGL 开发的经验表明,在开发此类 API 时,Web API 专家、GPU 供应商和原生 API 专家都需要参与进来,而 Khronos 是唯一一家在将这些专家聚集在一起方面拥有良好记录的组织。
“在 WebGL 之前,3D 在网络上是不可能的。强大的 3D 硬件在台式机和手机上随处可见,但互联网无法使用其中的任何一个,”Vukicevic 说。“有一些插件,但用户必须执行额外的安装步骤,这是接受的主要障碍。所有的浏览器制造商都知道这是一个需要解决的挑战,所以我们组成了 Khronos 工作组”。
Khronos Group 承认 WebGL 2.0 是一项艰巨的任务,但 WebGL 1.0 在效率、速度和资源方面的改进非常明显。WebGL 2.0 加速了一些渲染技术,例如延迟着色,并支持新的渲染技术,例如通过变换反馈和使用 3D 技术的体积渲染实现基于状态的粒子系统。这种提高的效率导致以更低的价格获得更好的质量和性能,并改善移动设备的电池消耗。
WebGL——网络的自然组成部分。
WebGL 已经成为 Web 的自然组成部分,可以跨平台和浏览器可靠地生成一致的 3D 图形。WebGL 现在在 Firefox 浏览器中启用了 97%,并希望将这一比例提高到 100%。与 WebGL 1.0 一样,几乎所有浏览器都希望实现 WebGL 2.0,同时还增加了一些重要的扩展,这些扩展可以在编写 WebGL 应用程序时显着提高性能。
WebGL 2.0 提供了新功能,并以 WebGL 1.0 作为坚实的基础,WebGL 有望继续有效、可靠地提供无插件且具有最高安全级别的 3D 图形。
云帆VR数字孪生研发中心,成立于2016年8月,致力于3D可视化数字科技探索,3D互联网、AR&VR互联网的市场应用。吸引、集聚、整合全球相关资源和优势力量,推进以数字科技为核心的全面创新,以人类愿景为驱动力,开展应用科学和创新性技术研究。
云帆VR数字孪生研发中心,计划在以下范畴拓展对数字世界的应用研究:
1:三维计算应用:AR、VR、数字孪生、3D可视化、三维全息、智慧园区、虚拟仿真、BIM可视化、智慧楼宇、智慧交通、智慧水务、智慧城市、AR商城、VR商城、3D商城、线上云展、VR看房。
2:三维云应用:5G云计算、轻量化云计算、多媒体云传输、GPU云渲染集群。
云帆VR数字孪生研发中心,旨在整合计算机科学和三维、图形图像计算等相关领域,面向实际行业场景和未来世界的前沿研究。建立产研合作平台,促进大众科技创新应用,打造产业、研究中心深度融合的生态圈。云帆VR数字孪生研发中心秉承“所见即所得”为使命,专注未来数字世界的三维科学研究,为全球数字科技和数字经济的进步,添砖加瓦。