Pretty much all modern desktop browsers support WebGL Internet Explorer being a notable exception. Even then you can use hacks such as IEWebGL to get the support. Although the whole specification is quite new, there has been some interest. Google Maps is a nice example of a high profile application using it.
Since working with bare APIs is often quite arduous, many wrappers have emerged. Of these particularly three.js and PhiloGL have become popular. Libraries such as glMatrix,WebGLU, lightgl.js and csg.js provide helpers for particular purposes. It is even possible to emulate Canvas2D with WebGL by using webgl-2d.
PhiloGL is a WebGL Framework for Data Visualization, Creative Coding and Game Development.
3D Graphics for Next-Generation WWW
This library makes it easier to quickly prototype WebGL applications. It's lower level than many other WebGL libraries and while it doesn't provide a scene graph, it re-implements OpenGL's modelview/projection matrix stack to provide similar functionality. It also re-introduces some built-in uniforms from GLSL (such as gl_Vertex and gl_ModelViewProjectionMatrix) and OpenGL's immediate mode.
WebGLU is both a set of low-level utilities and a high-level engine for developing WebGL based applications. WebGLU is designed such that a developer can focus on the end result with a minimum of fuss and code, but doesn't hand hold developers who want more control. This is achieved by exposing the raw GL object and also many lower-level functions for working with it and the WebGL API.
We’re really proud to introduce GLOW – a WebGL wrapper. GLOW is for you who have some WebGL experience and would like to get to the core – shaders. Please try out GLOW for experimenting with shaders, to create your custom render pipe or make a WebGL demo. Please fork here.
Constructive Solid Geometry (CSG) is a modeling technique that uses Boolean operations like union and intersection to combine 3D solids. This library implements CSG operations on meshes elegantly and concisely using BSP trees, and is meant to serve as an easily understandable implementation of the algorithm. All edge cases involving overlapping coplanar polygons in both solids are correctly handled.
This project aims to be a complete port of the Canvas2D API implemented in a WebGL context. WebGL-2D is a proof of concept and attempts to ascertain performance improvements over Canvas2D. It should allow most Canvas2D applications to be switched to a WebGL context.
Besides libraries above, there are some nice demos and learning resources around. You can find some of the former at Chrome Experiments and WebGL.com for instance. Learning WebGL and greggman's blog posts are good starting points for learning. Those interested particularly in the popular three.js might find Learning Three.js an interesting site. If you just want to dive into code, try something like WebGL playground.
As usual I likely missed some awesome libraries. Do let us know which we're missing, or better yet, add them to jster yourself. Till the next post!