WebGL

WebGL
WebGL logo
Original author(s) Mozilla Foundation
Developer(s) WebGL Working Group
Stable release 1.0 / March 3, 2011 (2011-03-03)[1]
Operating system Cross-platform
Type API
Website www.khronos.org/webgl

WebGL (Web Graphics Library) is a JavaScript API for rendering interactive 3D graphics within any compatible web browser without the use of plug-ins. WebGL programs consist of control code written in JavaScript and shader code that is executed on a computer's Graphics Processing Unit (GPU). WebGL is designed and maintained by the non-profit Khronos Group.[2]

Design

WebGL is based on OpenGL ES 2.0 and provides an API for 3D graphics.[3] It uses the HTML5 canvas element and is accessed using Document Object Model interfaces. Automatic memory management is provided as part of the JavaScript language.[2]

History

WebGL grew out of the Canvas 3D experiments started by Vladimir Vukićević at Mozilla. Vukićević first demonstrated a Canvas 3D prototype in 2006. By the end of 2007, both Mozilla[4] and Opera[5] had made their own separate implementations.

In early 2009, the non-profit technology consortium Khronos Group started the WebGL Working Group, with initial participation from Apple, Google, Mozilla, Opera, and others.[6][2] Version 1.0 of the WebGL specification was released March 2011.[1] As of March 2012, the chair of the working group is Ken Russell.

Notable early applications of WebGL include Google Maps and Google Body.[7][8]

Implementation

Desktop Browsers

Mobile Browsers

Developer libraries

There are several libraries for WebGL development:[27]

Content creation

WebGL scenes can be created without programming in a content creation tool such as Blender or Autodesk Maya. The scenes are then exported to WebGL. This was first possible with Inka3D, a WebGL export plugin for Maya. There are also services to publish interactive 3D content online using WebGL such as p3d.in and Sketchfab.

Sample renderings

See also

References

  1. ^ a b "Khronos Releases Final WebGL 1.0 Specification". http://www.khronos.org/news/press/releases/khronos-releases-final-webgl-1.0-specification. Retrieved 3 March 2011. 
  2. ^ a b c "WebGL - OpenGL ES 2.0 for the Web". Khronos.org. http://www.khronos.org/webgl/. Retrieved 2011-05-14. 
  3. ^ "WebGL Specification". Khronos.org. http://www.khronos.org/registry/webgl/specs/latest/. Retrieved 2011-05-14. 
  4. ^ "Canvas 3D: GL power, web-style". Blog.vlad1.com. http://blog.vlad1.com/2007/11/26/canvas-3d-gl-power-web-style/. Retrieved 2011-05-14. 
  5. ^ "Taking the canvas to another dimension". My.opera.com. 2007-11-26. http://my.opera.com/timjoh/blog/2007/11/13/taking-the-canvas-to-another-dimension. Retrieved 2011-05-14. 
  6. ^ "Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet". Khronos.org. 2009-08-04. http://www.khronos.org/news/press/releases/khronos-webgl-initiative-hardware-accelerated-3d-graphics-internet. Retrieved 2011-05-14. 
  7. ^ "Google Body - Google Labs". Bodybrowser.googlelabs.com. http://bodybrowser.googlelabs.com. Retrieved 2011-05-14. 
  8. ^ Bhanoo, Sindya N. (2010-12-23). "New From Google: The Body Browser". Well.blogs.nytimes.com. http://well.blogs.nytimes.com/2010/12/23/new-from-google-the-body-browser/. Retrieved 2011-05-14. 
  9. ^ "Mozilla Firefox 4 Release Notes". Mozilla.com. 2011-03-22. http://www.mozilla.com/en-US/firefox/4.0/releasenotes/. Retrieved 2012-03-20. 
  10. ^ "Cross-domain textures". Developer.mozilla.org. 2012-01-28. http://developer.mozilla.org/en/WebGL/Cross-Domain_Textures. Retrieved 2012-03-20. 
  11. ^ on November 8, 2011 by Benoit Jacob (2011-11-08). "Using CORS to load WebGL textures from cross-domain images". Hacks.mozilla.org. http://hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/. Retrieved 2012-03-20. 
  12. ^ February 8, 2011 — 7:56am ET (2012-03-03). "Google releases Chrome 9; comes with Google Instant, WebGL - FierceCIO:TechWatch". FierceCIO. http://www.fiercecio.com/techwatch/story/google-releases-chrome-9-comes-google-instant-webgl/2011-02-08. Retrieved 2012-03-20. 
  13. ^ "Using Cross-domain images in WebGL and Chrome 13". Blog.chromium.org. 2011-07-06. http://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html. Retrieved 2012-03-20. 
  14. ^ "New in OS X Lion: Safari 5.1 brings WebGL, Do Not Track and more". Fairerplatform.com. 2011-05-03. http://fairerplatform.com/2011/05/new-in-os-x-lion-safari-5-1-brings-webgl-do-not-track-and-more/. Retrieved 2012-03-20. 
  15. ^ "Enable WebGL in Safari". Ikriz.nl. 2011-08-23. http://www.ikriz.nl/2011/08/23/enable-webgl-in-safari. Retrieved 2012-03-20. 
  16. ^ "Getting a WebGL Implementation". Khronos.org. 2012-01-13. http://www.khronos.org/webgl/wiki/Getting_a_WebGL_Implementation. Retrieved 2012-03-20. 
  17. ^ "Implementations/WebKit". Khronos.org. 2011-09-03. http://www.khronos.org/webgl/wiki/Implementations/WebKit. Retrieved 2012-03-20. 
  18. ^ "WebGL Now Available in WebKit Nightlies". Webkit.org. http://www.webkit.org/blog/603/webgl-now-available-in-webkit-nightlies/. Retrieved 2012-03-20. 
  19. ^ "WebGL and Hardware Acceleration". My.opera.com. 2011-02-28. http://my.opera.com/core/blog/2011/02/28/webgl-and-hardware-acceleration-2. Retrieved 2012-03-20. 
  20. ^ "Introducing Opera 12 alpha". My.opera.com. 2011-10-13. http://my.opera.com/desktopteam/blog/2011/10/13/introducing-opera-12-alpha. Retrieved 2012-03-20. 
  21. ^ "FAQ". Iewebgl. http://www.iewebgl.com/Faq.aspx. Retrieved 2012-03-20. 
  22. ^ suihkulokki (2010-06-07). "WebGL on N900". Suihkulokki.blogspot.com. http://suihkulokki.blogspot.com/2010/06/webgl-on-n900.html. Retrieved 2011-05-14. 
  23. ^ Halevy, Ronen. "PlayBook OS 2.0 Developer Beta Includes WebGL, Flash 11, & AIR 3.0". BerryReview. http://www.berryreview.com/2011/10/18/playbook-os-2-0-developer-beta-includes-webgl-flash-11-air-3-0/. Retrieved 15 November 2011. 
  24. ^ iclkevin (2011-11-12). "WebGL on Mobile Devices". iChemLabs. http://www.ichemlabs.com/1375. Retrieved 2011-11-25. 
  25. ^ "Xperia™ phones first to support WebGL™— Developer World". blogs.sonyericsson.com. The Sony Ericsson Developer Program. November 29, 2011. http://blogs.sonyericsson.com/wp/2011/11/29/xperia-phones-first-to-support-webgl/. Retrieved December 5, 2011. 
  26. ^ "Opera Mobile 12". Opera Software. http://my.opera.com/mobile/blog/2012/02/27/opera-mobile-12. Retrieved 27 February 2012. 
  27. ^ "The WebGL Cookbook". Learning WebGL. 2011-01-30. http://learningwebgl.com/cookbook/index.php/Main_Page#Frameworks_and_libraries. Retrieved 2012-03-27. 
  28. ^ Benjamin DeLillo (2009-10-02). "First WebGLU release". Bjartr.blogspot.com. http://bjartr.blogspot.com/2009/10/more-webgl-progress-now-with-video.html. Retrieved 2011-05-14. 
  29. ^ "Chromium Blog: OpenGL ES 2.0 Certification for ANGLE". Blog.chromium.org. 2011-11-30. http://blog.chromium.org/2011/11/opengl-es-20-certification-for-angle.html. Retrieved 2012-03-20. 
  30. ^ "WebGL Conformance Test Runner Version 1.0.1". khronos.org. 2012-05-09. https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/conformance-suites/1.0.1/webgl-conformance-tests.html. Retrieved 2012-05-09. 

External links