WebGL(全写Web Graphics Library)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和
数据视觉化。显然,WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏等等。
WebGL1.0基于OpenGL ES 2.0,并提供了3D图形的
API。它使用
HTML5Canvas并允许利用
文档对象模型接口。WebGL 2.0基于OpenGL ES 3.0,确保了提供许多选择性的WebGL 1.0扩展,并引入新的API。可利用部分
Javascript实现自动存储器管理。
WebGL起源于Mozilla员工弗拉基米尔·弗基西维奇的一项称为Canvas 3D实验项目。2006年,弗基西维奇首次展示了Canvas 3D的原型。2007年底在Firefox和Opera被实现。
在2009年初,非营利技术
联盟Khronos Group启动了WebGL的工作组,最初的工作成员包括
Apple、
Google、
Mozilla、Opera等。2011年3月发布WebGL 1.0规范。截至2012年3月,工作组的主席由肯·罗素(Ken Russell,全名“Kenneth Bradley Russell”)担任。
WebGL 2规范的发展始于2013年,并于2017年1月完成。该规范基于OpenGL ES 3.0。在Firefox 51、Chrome 56和Opera 43中实现。
WebGL和3D图形规范OpenGL、通用计算规范OpenCL一样来自
Khronos Group,而且免费开放,并于2010年上半年完成并
公开发布。Adobe Flash Player 11、微软Silverlight 3.0也都已经支持GPU加速,但它们都是私有的、不透明的。WebGL标准工作组的成员包括AMD,爱立信,谷歌,Mozilla,Nvidia以及Opera等,这些成员会与Khronos公司通力合作,创建一种多平台环境可用的WebGL标准,WebGL标准在2011年上半年首度公开发布,该标准完全免费对外提供。
WebGL地解决了现有的Web交互式三维动画的两个问题:第一,它通过
HTML脚本本身实现Web交互式三维动画的制作,无需任何
浏览器插件支持;第二,它利用底层的图形
硬件加速功能进行的图形渲染,是通过统一的、标准的、跨平台的OpenGL接口实现的。
支持 WebGL 的浏览器有:Firefox 4+, Google Chrome 9+, Opera 12+, Safari 5.1+, Internet Explorer 11+和Microsoft Edge build 10240+;然而, WebGL一些特性也需要用户的硬件设备支持。