计算机科学

首页 > 计算机科学

WebGL

2018-08-31 10:22:28     所属分类:应用程序接口
WebGL
WebGL Logo.svg
原作者 Mozilla基金会
开发者 WebGL Working Group
初始版本 2011年3月3日 (2011-03-03)[1]
稳定版本
稳定版本
2.0
(2017年1月17日 (2017-01-17)
操作系统 跨平台
类型 API
网站 www.khronos.org/webgl/

WebGL是一种JavaScript API,用于在不使用插件的情况下在任何兼容的网页浏览器中呈现交互式2D和3D图形[2]。WebGL完全集成到浏览器的所有网页标准中,可将视频处理和效果的GPU加速使用方式当做网页Canvas的一部分。WebGL元素可以加入其他HTML元素之中并与网页或网页背景的其他部分混合[3]。WebGL程序由JavaScript编写的句柄和OpenGL Shading Language(GLSL)编写的着色器代码组成,该语言类似于C或C++,并在计算机的图形处理器(GPU)上运行。WebGL由非营利Khronos Group设计和维护[4]

目录

  • 1 设计
  • 2 历史
  • 3 支持
    • 3.1 桌面浏览器
    • 3.2 移动浏览器
  • 4 参考文献
  • 5 外部链接
  • 6 参见

设计

WebGL 1.0基于OpenGL ES 2.0,并提供了3D图形的API[5]。它使用HTML5 Canvas并允许利用文档对象模型接口。WebGL 2.0基于OpenGL ES 3.0,确保了提供许多选择性的WebGL 1.0扩展,并引入新的API[6]。可利用部分Javascript实现自动存储器管理[4]

历史

WebGL起源于Mozilla员工弗拉基米尔·弗基西维奇的一项称为Canvas 3D实验项目。2006年,弗基西维奇首次展示了Canvas 3D的原型。2007年底在Firefox[7]和Opera[8]被实现。

在2009年初,非营利技术联盟Khronos Group启动了WebGL的工作组,最初的工作成员包括Apple、Google、Mozilla、Opera等[4][9]。2011年3月发布WebGL 1.0规范[1]。截至2012年3月,工作组的主席由肯·罗素(Ken Russell,全名“Kenneth Bradley Russell”)担任。

WebGL的早期应用包括Zygote Body[10][11]

WebGL 2规范的发展始于2013年,并于2017年1月完成[12]。该规范基于OpenGL ES 3.0[13]。首度实现在Firefox 51、Chrome 56和Opera 43中[14]

支持

目前,WebGL在最新的浏览器中被广泛支持。然而,其可用性取决于其他因素,如GPU支持。WebGL官方网站提供了一个简单的测试页[15]。而第三方网站提供了更详细的消息(如浏览器使用的渲染器以及可用的扩展)[16][17]

桌面浏览器

  • Google Chrome – 从9.0开始支持默认激活[18][19]
  • Internet Explorer – 从11开始支持[20]。较旧的版本可以安装第三方插件来支持,如IEWebGL[21]
  • Mozilla Firefox – 从4.0开始支持默认激活[22]
  • Safari – 在Mac OS X Snow Leopard上的Safari 5.1、OS X Mountain Lion、Mac OS X Lion上的Safari6.0或较新版本开始支持WebGL,默认情况下禁用[23][24][25][26][27]
  • Opera – 需自行激活[28][29]

移动浏览器

  • Firefox OS[30]
  • Firefox for mobile[31][30]
  • Google Chrome[32]
  • Opera Mobile[33]
  • Tizen[34]
  • Ubuntu Touch
  • WebOS
  • iOS[35]

参考文献

  1. ^ 1.0 1.1 Khronos Releases Final WebGL 1.0 Specification. [2015-05-18]. 
  2. ^ Gregg Tavares. WebGL Fundamentals. HTML5 Rocks. 2012-02-09. 
  3. ^ Parisi, Tony. WebGL: Up and Running. O'Reilly Media, Incorporated. 2012-08-15. 
  4. ^ 4.0 4.1 4.2 WebGL - OpenGL ES 2.0 for the Web
  5. ^ WebGL Specification. Khronos.org. [2011-05-14]. 
  6. ^ WebGL 2.0 Specification. Khronos.org. [2017-02-27]. 
  7. ^ Canvas 3D: GL power, web-style. Blog.vlad1.com. [2011-05-14]. (原始内容存档于2011-07-17). 
  8. ^ Taking the canvas to another dimension. My.opera.com. 2007-11-26 [2011-05-14]. (原始内容存档于2007-11-17). 
  9. ^ Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet. Khronos.org. 2009-08-04 [2011-05-14]. (原始内容存档于2012-04-12). 
  10. ^ Google Body – Google Labs. Bodybrowser.googlelabs.com. [2011-05-14]. (原始内容存档于2011-05-13). 
  11. ^ Bhanoo, Sindya N. New From Google: The Body Browser. Well.blogs.nytimes.com. 2010-12-23 [2011-05-14]. 
  12. ^ WebGL 2 Specification. khronos.org. 2013-09-26 [2013-10-28]. 
  13. ^ https://www.khronos.org/registry/webgl/specs/latest/2.0/
  14. ^ https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API
  15. ^ WebGL test page. webgl.org. 
  16. ^ WebGL Report. webglreport.com. 
  17. ^ WebGL Browser Report — WebGL Detection — WebGL Tester — BrowserLeaks. browserleaks.com. 
  18. ^ Paul Mah. Google releases Chrome 9; comes with Google Instant, WebGL – FierceCIO:TechWatch. FierceCIO. February 8, 2011 [2012-03-20]. 
  19. ^ WebGL in Chrome Stable! - Learning WebGL. learningwebgl.com. 
  20. ^ WebGL (Windows). 微软. [2014-03-05]. 
  21. ^ IEWebGL. Iewebgl. [2014-08-14]. 
  22. ^ Mozilla Firefox 4 Release Notes. Mozilla.com. 2011-03-22 [2012-03-20]. 
  23. ^ New in OS X Lion: Safari 5.1 brings WebGL, Do Not Track and more. Fairerplatform.com. 2011-05-03 [2012-03-20]. (原始内容存档于2012-03-19). 
  24. ^ Enable WebGL in Safari. Ikriz.nl. 2011-08-23 [2012-03-20]. 
  25. ^ Getting a WebGL Implementation. Khronos.org. 2012-01-13 [2012-03-20]. 
  26. ^ Implementations/WebKit. Khronos.org. 2011-09-03 [2012-03-20]. 
  27. ^ WebGL Now Available in WebKit Nightlies. Webkit.org. [2012-03-20]. (原始内容存档于2012-03-08). 
  28. ^ WebGL and Hardware Acceleration. My.opera.com. 2011-02-28 [2012-03-20]. (原始内容存档于2011-03-03). 
  29. ^ Introducing Opera 12 alpha. My.opera.com. 2011-10-13 [2012-03-20]. (原始内容存档于2011-10-15). 
  30. ^ 30.0 30.1 Mobile HTML5 compatibility on iPhone, Android, Windows Phone, BlackBerry, Firefox OS and other mobile devices. [2015-09-16]. 
  31. ^ iclkevin. WebGL on Mobile Devices. iChemLabs. 2011-11-12 [2011-11-25]. 
  32. ^ Kersey, Jason. Chrome Beta for Android Update. Chrome Releases Blog. Google. [2013-08-23]. 
  33. ^ Opera Mobile 12. Opera Software. [27 February 2012]. (原始内容存档于2012年3月1日). 
  34. ^ HTML5test - How well does your browser support HTML5?. [2015-09-16]. 
  35. ^ Cunningham, Andrew. iOS 8, Thoroughly Reviewed. Ars Technica. 2014-09-17 [2014-09-19]. 

外部链接

  • 官方网站
  • WebGL于MDN Web Docs

参见

  • HTML5
  • OpenGL
  • WebGPU
  • WebVR

上一篇:Libwww
下一篇:Qt
相关推荐