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.
Google 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.
How it works?
The rendering is done in Canvas, a graphics display surface which is part of HTML 5 and is already implemented by modern browsers. WebGL can be used on other platforms, whether they use WebKit in particular.
Demonstrations and applications
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.
- Quake II in the browser with HTML 5.
The classic game.
- 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!
- 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.
The O3D library
Things have changed since the authors of 03D expressed their views on WebGL.
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.
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).
- 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.
- 03D. Framework by Google.
- Cannon.js. Physics engine.
- ANGLE. Using WebGL over DirectX.
- JebGL. Run WebGL apps on any browser by using Java applets as a fallback. This includes Internet Explorer until version 6.
- Mandreel. Convert OpenGL games to WebGL.
Documents and sites
- Khronos Group. Introducing WebGL.
- Specification of the standard API.
- Why we should use OpenGL.
- WebGL and HTML 5 challenges. The conditions for the platform to be used for games and thus, having a real future.
- QuakeGL. Study of the Quake 2 source code.
- A city in 100 lines of code. Uses Three.js.
Capture of Unreal Turnament in Browser demo