This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)(Learn how and when to remove this template message)
0.5.5 / March 28, 2012
Oak3D provides a set of simple and ease-to-use API interface 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.
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.
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).
- Highly optimized Math Library
- Bounding Box (AABB/OBB)
- Intersection utility
- 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
- Loading XML-organized shader document.
- Support include macro, custom shader code block, dynamic definition in shader compiling.
- 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, easy to use)
- Model/Mesh resource management utility
- Camera Utility
- Material Utility
- Text Utility
- Generating built-in geometries
- 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
- Normal mapping
- Alpha test
- Particle system
- Multi-layered texture mapping
- Video canvas in 3D scene.
- Custom rendering behavior by using material script