ThreeJS is a light-weight scene graph library abstracting WebGL and the underlying architecture, with the exception of leaking shader programs. The library does a great job of providing a sane pipeline out of the box to build and render geometry, as well as providing a decent number of asset facilities such as loading.
- I've been unable to find a point at which I can make calls against the underlying engine. This makes certain types of techniques impossible such as building a skybox using a separate projection matrix impossible.
- In general the library makes WebGL eaiser to write than OpenGL. I have yet to use this with large scene graph yet.