stormEngineC
StormEngineC is a 3D graphics library written in JavaScript and using several HTML5 features like WebGL, WebCL and WebSockets. It provides an easy way to load objects in OBJ and Collada format and add the physical simulation for them. The source code is free and is hosted in GitHub.
Original author(s) | Roberto González DomĂnguez |
---|---|
Initial release | February 3, 2011 |
Written in | JavaScript |
Type | JavaScript library |
License | MIT License |
Website | stormcolour |
Image gallery
- Ball game machine
- WebGL Cornell Box
- 3D urbanization
- Reservoir machines
- 3D edification
- Sibenik cathedral
- Rocket turbine
Features
- Real-time visualization of 3D scenes through WebGL
- Sun and spot lights
- Shadow mapping
- SSAO
- Load of objects on .obj format or Collada (.DAE)
- Physical system integrated through JigLib2
- Keyframe animation
- Option for enable edit menus
- Multiplayer utilities using Node.js
- Path Tracing render using the WebCL Nokia Extension
- Render farm option for path tracing render using Node.js
Usage
The basic source code for initializing a small scene in StormEngineC:
<script src="js/StormEngineC/StormEngineC.class.js"></script>
<canvas id="example" width="1024" height="512"></canvas>
<script>
stormEngineC.createWebGL({'target': 'example',
'editMode': true});
var node = stormEngineC.createNode();
node.loadObj({'objUrl': 'resources/obj/cornellbox.obj'});
</script>
History
StormEngineC comes from the author's intention to provide a means for displaying 3D scenes in the web browser and enable a physical system with gravity and collisions for objects easily.
Initially written in Java and called StormEngineJ, Appearing the first public specification of WebGL, was ported to JavaScript since this brought benefits with respect other 3D visualization methods in a web browser. For example, does not require additional plug-ins for the viewing.
The first version of the library was published on Google Code in February 2011. At the moment, has not been offered a stable version for this.
From version 1.2 was introduced a rendering system based on path tracing with the option able to be used as render farm, and some facilities for starting up a game server using Node.js.