Glib Framework

Glib is a collection of graphics related libraries. At its core it abstracts WebGL calls and provides a cleaner graphics api. XNA developers might recognize parts of Glibs structure and methods. That is because Glib actually mimics a portion of XNAs public api.

Besides of the abstraction of WebGL Glib contains following modules and concepts.

Math library
A 3D library without Vectors, Quaternions and Matrices wouldn't be great right? Glib provides common structures like Vec2, Vec3, Vec4, Quat, Mat4 and a rich set of operations among them.
Content loading / processing
A content manager with an interface to load and convert resources into instances of specific type. It allows to register custom importer, loader and converter implementations.
Shader binding
Parses a shader file and exposes shader variables into the javascript world. Variables are allowed to have magic comments to add metadata which may be used to rename the variable, give it a default value or bind it so it is updated automatically.
Render management
multi viewport, automatic render target management, custom rendering path composed of your custom rendering steps.
Entity component system

If you are still reading, you are probably familiar with the concept of entity component sytem. Glib has a concept of components and services. That is better to be explained in one of the (coming) tutorials. The library comes bundeled with components such as Light, Camera, Transform, Renderable ... and services such as Time, GameLoop, Fps, Keyboard, Mouse, Touch.

DISCLAIMER The framework is under construction and so is this description.