随着webgl2.0成为建立在非常成功的webgl1.0背后的强大技术,webgl1.0现在已在web上的众多专业CAD和3D应用程序中得到充分利用。这个特性讨论了这段历史以及为什么webgl2.0是一个如此重要的标准。
为什么选择WEBGL——它的重要性
WebGL非常重要,有几个原因。作为一项技术,它是一种适用于现代网络浏览器的“无插件”3D图形技术。互联网在浏览器中通过插件尝试 3D图形的历史由来已久,但一般来说,用户并不特别擅长管理插件过程,并且安装插件的过程破坏了当代对业务工作流程的期望。所以没有插件。
WebGL 1.0目前使用率很高,使 Onshape和 Frame等专业应用程序能够在许多操作系统的现代 Web浏览器中运行。它运作良好,因为它利用了 OpenGL的开放性。WebGL 2.0 将推动这一标准并推动网络上所有类型的专业3D应用程序的创新。
WebGL还基于OpenGL ES,这是一个非常成功的便携式图形开放行业标准,适用于所有重要的计算机操作系统。尽管所有类型的设备(从工作站到智能手机)的硬件3D功能都出现了大规模爆炸式增长,但在Khronos Group建立WebGL工作之前,Web浏览器本身并不是开发人员作为3D应用程序目标的主要考虑因素组和一整套开发标准。
WebGL 的历史
WebGL 1.0于2011年推出,这一年Apple iPad开始受到AEC等企业行业的极大兴趣。WebGL被誉为跨平台、免版税的Web标准,它通过插件为Web浏览器带来高质量的3D图形,它已经起飞。它是迄今为止市场上使用最广泛的Web图形API,并得到Apple、Google、Microsoft和Mozilla的所有主要浏览器供应商的普遍支持。
WebGL始于2006年,当时Mozilla的高级软件工程师Vladimir Vukicevic开始在网络上尝试3D概念,当时Javascript远没有今天强大。在Mozilla期间,他开始在Canvas 中创建原型OpenGL 3D上下文,然后他与Khronos Group接触,希望以Web为中心的OpenGL 变体建立一个新的工作组,该变体后来被称为 WebGL。
早期的 WebGL 支持者
WebGL 的早期支持者包括 AMD、Apple、Microsoft、Mozilla、Google、Intel、NVIDIA、Opera Software 和 Qualcomm。这个小组帮助重新定义了 Web 图形的标准,当时是 Adobe Flash 和 Unity的3D播放器等专有技术的混合体。此类技术要求用户安装某些东西,通常是插件。但是,每次要求用户安装插件时,用户的兴趣都会下降,因此 WebGL 从一开始就是自动的,不需要最终用户使用任何东西。
WebGL 工作组的目标很简单:将 3D 图形带到网络上,在每个浏览器上,对最终用户没有安全问题,不需要插件,并且具有高性能。
“我们希望成功地将视觉表达的力量带给大量的网络用户,”谷歌软件工程师兼 WebGL 工作组主席 Ken Russell 说。NVIDIA 系统工程师 Olli Etuaho 补充说:“主要原则很明确:在尽可能多的地方保持稳健、便携、稳定和相当高性能。当然,它不会给最终用户带来任何安全问题。”
克服障碍——通往成功的 WebGL 标准的漫漫长路
WebGL 并没有立竿见影的成功之路,尽管上面列出的重量级人物都支持新标准。由于 API 能够访问数据,因此对其长期安全性存在怀疑。为了解决这个问题,工作组开发了 WebGL,以便在使用前始终初始化图形内存,确保网站无法访问它们不应该访问的任何数据。还内置了许多其他安全层,为开发人员及其最终用户提供了 WebGL 工业级安全性。
人们很早就对 WebGL 持怀疑态度,即使在 3D 领域也是如此。插件来来去去,有各种各样的问题和注意事项。WebGL 必须克服的另一个挑战是证明其在市场上的能力。工作组确保所有主要浏览器开发人员都支持新标准,并且合规性测试可以表明 WebGL 代码可以跨浏览器移植。
WebGL 的一个优势是它是一个可供公司免费参与的开放标准。作为一个开源 API,这意味着通过Github通过问题和拉取请求进行反馈对于一致性测试至关重要,社区发挥了重要作用.
WebGL 2.0
“开放参与绝对是 WebGL 2.0 开发的关键,尤其是在相关的一致性测试中,以及了解我们需要在哪里投入开发时间以确保它的可移植性并为最终用户提供他们需要的东西,”拉塞尔说。“在一个封闭的论坛中,它不可能奏效,至少效果不佳。”
设定合作标准
WebGL 为开发项目的开放式协作树立了良好的标准。由于 GitHub 等常用工具上的大量工作都是公开的,这些工作使流程更加高效,更好地利用资源,并大大减少了工作重复。例如,通过满足每个人需求的共享代码库,每个人都可以集中资源并专注于改进。
即使在拥抱开源协作世界之后,WebGL 也没有完成开辟新天地。WebGL 将不同的操作系统供应商和硬件供应商聚集在一起,朝着一个共同的目标前进。当 Web 开发人员试图让他们的 WebGL 代码在所有设备上以相同的方式运行时,发现了底层图形 API 中的许多极端情况以及图形驱动程序错误。虽然没有软件可以免于错误,但 WebGL 承诺您的图形代码只需编写一次,它就可以在任何地方运行。WebGL 工作组与所有硬件供应商密切合作,报告这些错误,修复它们,并添加一致性测试以确保它们保持修复。这种与社区和 GPU 制造商的密切合作提高了图形生态系统的整体质量。
上一篇:Webgl技术,让网页展现更炫酷
下一篇: 3D可视化的应用范畴有哪些?