Oak3D
Oak3D is a free JavaScript library for 3D graphics development based on the HTML5 WebGL standard, dedicated in realizing the Web3D applications with GPU acceleration for all the front-end developers in an easy and efficient way. Developed with JavaScript, Oak3D can provide originally a cross-platform solution in Windows, Linux, Mac and Android. Without any plugin installed or downloaded, web3D applications based on Oak3D can run on all the modern internet browsers that support WebGL. Oak3D provides a set of simple and ease-to-use API which allows web developers developing web3D application without concerning the details of 3D graphics implementation. Besides, Oak3D also provides many kinds of functional libraries, such as Math Library, Model Library, Skeletal Animation Library etc. Oak3D additionally provides tools to convert traditional art asset to the format acceptable directly by Oak3D. Oak3D is composed  by two layers, Oak3D Core and Oak3D Engine. The following form shows the architecture. Oak3D Core 
The "Core" layer supplies the functional wrapping to low-level WebGL API and basic functional libraries for 3D graphics development. Developers have full flexibility in this layer, and, the "Core" interfaces can be mixed within original WebGL code. For senior users with rich computer graphics experience, they can have more control to the 3D applications on this layer. Oak3D Engine 
The "Engine" layer provides a complete 3D rendering engine built over the Oak3D Core, including 3D Scene Management, Material System, Multi-Type of Lighting, Dynamic Shadow, Skeleton Animation, Terrain and other interesting features. In this layer, developers could implement web3D application without concerning rendering details. (Oak3D Engine is still under development for now). Feature List

Math 
Highly optimized Math Library
Vector/Matrix/Quternion
Plane
Bounding Box (AABB/OBB)
Frustom
Intersection utility

Resource 
Exporting model/material/skeletal animation from 3dsMax (9 – 2012)
Exporting model from Maya (8.5 – 2012)
Loading Model/Skeletal Resource Document
Multiple file format (XML/Binary and Collada in future)
Loading non power of 2 sized texture

Shader 
Loading XML-organized shader document. Support include macro, custom shader code block, dynamic definition in shader compiling. WebGL 
Checking WebGL supportness dynamically by one single function (okIsWebGL). Querying and enabling WebGL extensions easily (okExtension)
Querying system information and hardware capability (okEngineInfo)
WebGL API wrapper objects (object-based)

3D Utility 
Model/Mesh resource management utility
Camera Utility
Material Utility
Text Utility
Generating built-in geometries

Skeletal Animation 
Mesh skin
Playing skeletal animation
Multi-channel animation blend

Engine Feature (Just tell engine what to draw, don't need to know how to draw.) Configuarble WebGL-based rendering pipeline
High-performance scene management
Support multi-scene
Support multi-viewport
Material configure
Dynamic-LOD terrain system
Complete resource loading/managing process (model/texture/skeletal animation)
No-shader Web3D application development
Dynamic lighting
Dynamic shadow
Fog
Glowing
Wireframe
Normal mapping
Alpha test
Skybox
Particle system
Multi-layered texture mapping
Video canvas in 3D scene. Custom rendering behavior by using material script

External links 
 https://web.archive.org/web/20130905213523/http://www.oak3d.com/ archive.org, September 2012

WebGL
Web development
Graphics libraries
Cross-platform software
3D graphics APIs
Virtual reality