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?

WebGL is an interface between JavaScript and Open GL ES 2.0, a library in native code that directly accesses the hardware of graphics cards. There is a version of Open GL for each model of graphics card, which typically is installed by the operating system whatsoever.

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.
Thus WebGL runs on a browser supporting Canvas and with a JavaScript framework (see list in resources).

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.

The O3D library

Google previously followed a different approach with 03D, and decided now to go further and turn in into a JavaScript library instead of a another plugin. O3D is now a complement to WebGL.
Things have changed since the authors of 03D expressed their views on WebGL.

Compatibility

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.

Microsoft does not support WebGL on the grounds, saying direct access to a system library would create a security breach, however, Silverlight 5, its competitor and proprietary system does it too (through XNA that is partially embedded) as does everything in compiled JavaScript code.

JavaScript Framewoks

Tools

Documents and sites

Capture of Unreal Turnament demo in the browser

Capture of Unreal Turnament in Browser demo