|Original author(s)||Mozilla Foundation|
|Developer(s)||Khronos WebGL Working Group|
|Initial release||March 3, 2011|
|Stable release||1.0.2 / March 1, 2013|
Shaders in WebGL are expressed directly in GLSL.
WebGL evolved 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 and Opera 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. Version 1.0 of the WebGL specification was released March 2011. As of March 2012, the chair of the working group is Ken Russell.
Early applications of WebGL include Zygote Body. More recently[when?], Autodesk ported most of their applications to the cloud running on local WebGL clients. These applications included Fusion 360 and AutoCAD 360.
Development of the WebGL 2 specification started in 2013. This specification is based on OpenGL ES 3.0.
WebGL is widely supported in modern browsers. However its availability is dependent on other factors like the GPU supporting it. The official WebGL website offers a simple test page. More detailed information (like what renderer the browser uses, and what extensions are available) is provided at third-party websites.
- Google Chrome – WebGL has been enabled on all platforms that have a capable graphics card with updated drivers since version 9, released in February 2011. By default on Windows Chrome uses the ANGLE (Almost Native Graphics Layer Engine) renderer to translate OpenGL ES to Direct X 9.0c or 11.0, which have better driver support. On Linux and Mac OS X the default renderer is OpenGL however. It is also possible to force OpenGL as the renderer on Windows. Since September 2013, Chrome also has a newer Direct3D 11 renderer, which however requires a newer graphics card.
- Mozilla Firefox – WebGL has been enabled on all platforms that have a capable graphics card with updated drivers since version 4.0. Since 2013 Firefox also uses ANGLE on the Windows platform via DirectX.
- Safari – Safari 6.0 and newer versions installed on OS X Mountain Lion, Mac OS X Lion and Safari 5.1 on Mac OS X Snow Leopard implemented support for WebGL, which was disabled by default before Safari 8.0.
- Opera – WebGL has been implemented in Opera 11 and 12, although disabled by default.
- Internet Explorer – WebGL is partially supported in Internet Explorer 11. It initially failed the majority of official WebGL conformance tests, but Microsoft later released several updates. The latest 0.94 WebGL engine currently passes ~97% of Khronos tests. WebGL support can also be manually added to earlier versions of Internet Explorer using third-party plugins such as IEWebGL.
- BlackBerry 10 – WebGL is available for BlackBerry devices since OS version 10.00
- BlackBerry PlayBook – WebGL is available via WebWorks and browser in PlayBook OS 2.00
- Android Browser – Basically unsupported, but the Sony Ericsson Xperia range of Android smartphones have had WebGL capabilities following a firmware upgrade. Samsung smartphones also have WebGL enabled (verified on Galaxy SII (4.1.2) and Galaxy Note 8.0 (4.2)). Supported in Google Chrome that replaced Android browser in many phones (but is not a new standard Android Browser).
- Internet Explorer - WebGL is available on Windows Phone 8.1
- Firefox for mobile – WebGL is available for Android devices since Firefox 4.
- Firefox OS
- Google Chrome – WebGL is available for Android devices since Google Chrome 25 and enabled by default since version 30.
- Maemo – In Nokia N900, WebGL is available in the stock microB browser from the PR1.2 firmware update onwards.
- Opera Mobile - Opera Mobile 12 supports WebGL (on Android only).
- Ubuntu Touch
- iOS – WebGL is available for mobile Safari, in iOS 8.
Content creation and ecosystem
There are also some 2D libraries built on top of WebGL like Cocos2d-x or Pixi.js, which were implemented this way for performance reasons, in a move that parallels what happened with the Starling Framework over Stage3D in the Flash world. The WebGL-based 2D libraries fall back to HTML5 canvas when WebGL is not available.
Creating content for WebGL scenes often means using a regular 3D content creation tool and exporting the scene to a format that is readable by the viewer or helper library. Desktop 3D authoring software such as Blender or Autodesk Maya can be used for this purpose, but there are also some WebGL-specific software such as CopperCube and the online WebGL-based editor Clara.io. Online platforms such as Sketchfab and Clara.io allow users to directly upload their 3D models and display them using a hosted WebGL viewer.
Additionally, Mozilla Firefox implemented built-in WebGL tools starting with version 27 that allow editing vertex and fragment shaders. A number of other debugging and profiling tools have also emerged.
X3D also made a project called X3DOM to make X3D and VRML content running on WebGL. The 3D model will in XML tag
Similar technologies for 3D in a browser
- "Khronos Releases Final WebGL 1.0 Specification". Retrieved 2015-05-18.
- Gregg Tavares (2012-02-09). "WebGL Fundamentals". HTML5 Rocks.
- Tony Parisi (2012-08-15). "WebGL: Up and Running". O'Reilly Media, Incorporated.
- "WebGL – OpenGL ES 2.0 for the Web". Khronos.org. Retrieved 2011-05-14.
- "WebGL Specification". Khronos.org. Retrieved 2011-05-14.
- "Canvas 3D: GL power, web-style". Blog.vlad1.com. Retrieved 2011-05-14.[dead link]
- "Taking the canvas to another dimension". My.opera.com. 2007-11-26. Archived from the original on 2007-11-17. Retrieved 2011-05-14.
- "Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet". Khronos.org. 2009-08-04. Retrieved 2011-05-14.
- "Google Body – Google Labs". Bodybrowser.googlelabs.com. Retrieved 2011-05-14.
- Bhanoo, Sindya N. (2010-12-23). "New From Google: The Body Browser". Well.blogs.nytimes.com. Retrieved 2011-05-14.
- "AUTODESK FUSION 360: THE FUTURE OF CAD, PT. 1". 3dcadworld.com. Retrieved 2013-08-21.
- "WebGL 2 Specification". khronos.org. 2013-09-26. Retrieved 2013-10-28.
- WebGL test page
- Paul Mah (February 8, 2011). "Google releases Chrome 9; comes with Google Instant, WebGL – FierceCIO:TechWatch". FierceCIO. Retrieved 2012-03-20.
- "Mozilla Firefox 4 Release Notes". Mozilla.com. 2011-03-22. Retrieved 2012-03-20.
- "New in OS X Lion: Safari 5.1 brings WebGL, Do Not Track and more". Fairerplatform.com. 2011-05-03. Retrieved 2012-03-20.
- "Enable WebGL in Safari". Ikriz.nl. 2011-08-23. Retrieved 2012-03-20.
- "Getting a WebGL Implementation". Khronos.org. 2012-01-13. Retrieved 2012-03-20.
- "Implementations/WebKit". Khronos.org. 2011-09-03. Retrieved 2012-03-20.
- "WebGL Now Available in WebKit Nightlies". Webkit.org. Retrieved 2012-03-20.
- "WebGL and Hardware Acceleration". My.opera.com. 2011-02-28. Archived from the original on 2011-03-03. Retrieved 2012-03-20.
- "Introducing Opera 12 alpha". My.opera.com. 2011-10-13. Archived from the original on 2011-10-15. Retrieved 2012-03-20.
- "Internet Explorer 11 Preview guide for developers". Microsoft. 2013-07-17. Retrieved 2013-07-24.
- "WebGL". Microsoft. 2013-07-17. Retrieved 2013-07-24.
- "Internet Explorer 11 to support WebGL and MPEG Dash". Engadget. 2013-06-26. Retrieved 2013-06-26.
- https://connect.microsoft.com/IE/feedback/details/795172 IE11 fails more than half tests in official WebGL conformance test suite
- "IEWebGL". Iewebgl. Retrieved 2014-08-14.
- McDonough, Larry. "WebGL: 3D Gaming on the Web Arrives". BerryReview. Retrieved 2013-04-09.
- Halevy, Ronen. "PlayBook OS 2.0 Developer Beta Includes WebGL, Flash 11, & AIR 3.0". BerryReview. Retrieved 2011-11-15.
- "Xperia™ phones first to support WebGL™ – Developer World". blogs.sonyericsson.com. The Sony Ericsson Developer Program. 2011-11-29. Retrieved 2011-12-05.
- iclkevin (2011-11-12). "WebGL on Mobile Devices". iChemLabs. Retrieved 2011-11-25.
- Kersey, Jason. "Chrome Beta for Android Update". Chrome Releases Blog. Google. Retrieved 2013-08-23.
- suihkulokki (2010-06-07). "WebGL on N900". Suihkulokki.blogspot.com. Retrieved 2011-05-14.
- "Opera Mobile 12". Opera Software. Archived from the original on 1 March 2012. Retrieved 27 February 2012.
- Cunningham, Andrew. "iOS 8, Thoroughly Reviewed". Retrieved 2014-09-19.
- Tony Parisi (13 February 2014). Programming 3D Applications with HTML5 and WebGL: 3D Animation and Visualization for Web Pages. "O'Reilly Media, Inc.". pp. 364–366. ISBN 978-1-4493-6395-6.
- Alexey Boreskov; Evgeniy Shikin (2014). Computer Graphics: From Pixels to Programmable Graphics Hardware. CRC Press. p. 370. ISBN 978-1-4398-6730-3.
- Andreas Anyuru (2012). Professional WebGL Programming: Developing 3D Graphics for the Web. John Wiley & Sons. p. 140. ISBN 978-1-119-94058-6.
- Steve Fulton; Jeff Fulton (2013). HTML5 Canvas (2nd ed.). "O'Reilly Media, Inc.". p. 624. ISBN 978-1-4493-3588-5.
- Remi Arnaud (2011). "3D in a Web Browser". In Eric Lengyel. Game Engine Gems 2. CRC Press. pp. 199–228. ISBN 978-1-56881-437-7.
- Official website
- WebGL /Canvas 3D Preview in WebKit r48331
- WebGL Demo from Google Chromium (deprecated)
- Mozilla Developer Network
- Unofficial WebGL Games Community
- Matti Anttonen & Arto Salminen Building 3D WebGL Applications
- WebGL Fundamentals