简介
WebGL原作者Mozilla基金会开发者WebGL Working Group首次发布2011年3月3日 (2011-03-03)当前版本2.0 (2017年1月17日;稳定版本) 操作系统跨平台类型API网站www.khronos.org/webgl/HTMLHTML动态HTMLHTML5音频(英语:HTML5 Audio)画布视频(英语:HTML5 video)XHTML基础(英语:XHTML Basic)移动概要C-HTMLHTML元素Span与divHTML特性(英语:HTML attribute)HTML框架(英语:Framing (World Wide Web))HTML编辑器字符编码Unicode(英语:Unicode and HTML)语言代码文档对象模型浏览器对象模型样式表层叠样式表字体家族网页颜色HTML脚本(英语:HTML scripting)JavaScriptWebGLWebCL(英语:WebCL)W3C验证服务网页超文本应用技术工作小组怪异模式网页存储排版引擎比较文档标记语言网页浏览器HTML非标准HTMLHTML5(英语:Comparison of layout engines (HTML5))画布媒体XHTML1.1查论编WebGL是一种JavaScript API,用于在不使用插件的情况下在任何兼容的网页浏览器中呈现交互式2D和3D图形。WebGL完全集成到浏览器的所有网页标准中,可将影像处理和效果的GPU加速使用方式当做网页Canvas的一部分。WebGL元素可以加入其他HTML元素之中并与网页或网页背景的其他部分混合。WebGL程序由JavaScript编写的句柄和OpenGL Shading Language(GLSL)编写的着色器代码组成,该语言类似于C或C++,并在电脑的图形处理器(GPU)上执行。WebGL由非营利Khronos Group设计和维护。
设计
WebGL 1.0基于OpenGL ES 2.0,并提供了3D图形的API。它使用HTML5 Canvas并允许利用文档对象模型接口。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的早期应用包括Zygote Body。
WebGL 2规范的发展始于2013年,并于2017年1月完成。该规范基于OpenGL ES 3.0。首度实现在Firefox 51、Chrome 56和Opera 43中。
支持
目前,WebGL在最新的浏览器中被广泛支持。然而,其可用性取决于其他因素,如GPU支持。WebGL官方网站提供了一个简单的测试页。而第三方网站提供了更详细的消息(如浏览器使用的渲染器以及可用的扩展)。
桌面浏览器
Google Chrome – 从9.0开始支持默认激活了 WebGL 。在Windows上,默认情况下,Chrome使用ANGLE渲染器将OpenGL ES转换为Direct X 9.0c或11.0,后者具有更好的驱动程序支持。在Linux和Mac OS X上,默认渲染器是OpenGL,也可以强制OpenGL作为Windows上的渲染器。2013年9月起,Chrome还推出了更新的Direct3D 11渲染器,但需要更新的显卡。 Chrome 56+支持WebGL 2.0。
Internet Explorer – 从11开始支持。Internet Explorer 11 最初未能通过大多数官方的WebGL一致性测试,但微软后来发布了几个更新,最新的0.94 WebGL引擎目前通过了约97%的Khronos测试。较旧的版本可以安装第三方插件来支持,如IEWebGL。
Mozilla Firefox – 从4.0开始支持默认激活。Firefox也通过ANGLE在Windows平台上使用DirectX。Firefox 51+ 支持 WebGL 2.0。
Safari – 在Mac OS X Snow Leopard上的Safari 5.1、OS X Mountain Lion、Mac OS X Lion上的Safari6.0或较新版本开始支持WebGL,默认情况下禁用。Safari版本12(在MacOS Mojave中可用)支持WebGL 2.0,目前作为”实验性”功能。
Opera – 需自行激活。Opera 43+支持WebGL 2.0
Microsoft Edge – 对于Microsoft Edge Legacy,初始稳定版本支持WebGL版本0.95(context名称:”experimental-webgl”),并带有开源GLSL到HLSL转译器。 版本 10240+ 支持以 WebGL 1.0 为前缀。最新的基于Chromium的Edge支持WebGL 2.0
移动浏览器
Firefox OS
Firefox for mobile
Google Chrome
Opera Mobile
Tizen
Ubuntu Touch
WebOS
iOS