WebGL

WebGL is a standard for programming in 3D with the browser as platform. The final specification of the standard must be published in 2010 and is defined by the Khronos Group, a consortium which is also in charge of Open GL and Open CL.

This will allow to make animations, interfaces or 3D games running on both online and offline.

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 surface graphics display which is part of HTML 5 and is already implemented by many browsers. WebGL can be used on other platforms, whether they use WebKit in particular.

How use WebGL

WebGL runs on a browser supporting Canvas (Firefox, Chrome and Safari) and with an appropriate plugin.
A prototype of plug-ins is offered C3DL (Canvas 3D JS Library) from Mozilla.

Built in WebKit, it will be automatically part of Chrome and Safari. It is integrated in the development version of Firefox 3.7.

Who supports WebGL

The major companies backing the project are:

Demonstrations

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, WebGL.

The O3D library

Google previously followed a different approach with 03D, 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 of DirectX.
This configuration is for Windows users that do not have an OpenGL module.
ANGLE should also enable mobile application developers to achieve the development phase on Windows.

See also

Tools and documents

Programming technologies Ajax - API - Cassandra - CIL - CLI - Cookie - Cover Flow - DFA - .NET - HTTP code - IDE - JavaFX - JNA - JSON - MySQL - NaCl - Protocol Buffers - Qt - REST - Servlet - Web 2.0 - WebGL - Webkit - WYSIWYG

(c) 2009-2010 Scriptol.com