StormEngineC
StormEngineC is a 3D graphics library written in JavaScript and uses several HTML5 features like WebGL, WebCL and WebSockets. Provides an easy way to load objects in OBJ and Collada format and adding the physical simulation for these. The source code is free and is hosted in Google Code.
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 NodeJS
- Path Tracing render using the WebCL Nokia Extension
- Render farm option for Path Tracing render using NodeJS
Usage
The basic source code for initialize a small scene in StormEngineC:
<script id="stormEngineC" type="text/javascript" src="js/StormEngineC/StormEngineC.class.js"></script>
<canvas id="example" width="1024" height="512"></canvas>
<script>
stormEngineC.createWebGL({'target': 'example', // ID canvas
'callback': function(elapsed){},
'editMode': false,
'enableRender':false});
var mesh = new StormMesh();
var node = stormEngineC.createNode();
mesh.loadCollada(node, "resources/obj/cornellbox.DAE");
stormEngineC.go();
</script>History
StormEngineC comes from the author's intention of 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, do not require aditionals 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 start up a game server using NodeJS.
See also
- WebGL
- WebCL
- Websocket