WebGL: 3D in the browser
WebGL is a standard for programming in 3D with the browser as platform. The final specification of the standard was published in 2010 and is defined by the Khronos Group, a consortium which is also in charge of Open GL and Open CL. It allows to make animations, interfaces or 3D games running both online and offline.
Demo of Unreal Turnament in the browser
OpenGL has not always got unanimity. Google previously followed a different approach with 03D, whose authors expressed their views on WebGL, and crititized the framework.
Google so supports this technology that fits entirely within its intent to bring applications on the Web, and this complements projects as Native Client, Google Chrome OS.
It is also supported by Nvidia, manufacturer of chipsets and graphics cards, AMD, a manufacturer of microprocessors, Ericsson, a manufacturer of mobile phones, Mozilla, Opera Software.
These actors participate to the Khronos group that defines the specification. Microsoft has joined the Khronos Group in 2014.
How WebGL works?
The rendering is done in Canvas, a graphics display surface which is part of HTML 5 and is already implemented by all modern browsers. WebGL can be used on other platforms, whether they use WebKit in particular.
- Three.js. 3D engine which wants to be lightweight and easy to use and works with WebGL, Canvas, SVG. Gallery demo includes a sample of human skin very realistic. A demo and tutorial: A city in 100 lines of code.
- 03D. Framework by Google.
- Cannon.js. Physics engine.
- Mandreel. Convert OpenGL games to WebGL.
A demo of Quake II running in browsers supporting HTML 5 was made by Google. It does use the Java port of Quake, the Google Web Toolkit and WebGL. Many other demos were posted online too.
- Quake II in the browser with HTML 5.
The classic game. QuakeGL is a study of the Quake 2 source code.
- Video showing the use of WebGL by the Webkit library.
Displayed in Canvas.
- Music in pictures.
From 1 to 1000 fishes, without a lost in fluidity!
- Realistic water
Click to make waves, or move the sphere...
- Body Browser.
The human body in 3D. This strange creature has both male and female attributes!
3D games with audio (on Chrome 14).
- Team Fortress 2.
A level of the game comes with source code. Only the sets are present, the rendering is saccaded due to the recording, but what if shows is another level than Angry Birds that feels more like early games on Apple II.
WebGL on which browsers?
WebGL works with OpenGL on most computers.
With ANGLE (Almost Native Layer Graphics Engine), an interface produced by Google, it also works with Direct3D that is a part of DirectX and allows to use WebGL over DirectX.
This for configurations of Windows that do not have an OpenGL module.
ANGLE should also enable mobile application developers to achieve the development phase on Windows.
However, version 11 of Internet Explorer fully supports WebGL and it is very powerful, similar to competing browsers in 2013 (which use an additional layer to DirectX on Windows).
For other browsers, there is still a solution: JebGL run WebGL apps on any browser by using Java applets as a fallback. This includes Internet Explorer until version 6.