stormEngineC
StormEngineC is a 3D graphics library written in JavaScript utilizing several HTML5 features such as WebGL, WebCL, and WebSockets. The library provides an easy way to load objects in the OBJ or Collada format and adds them to physical simulations. The source code is free and is hosted on 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 was developed to provide a means for displaying 3D scenes in the web browser and to easily enable a physical system with gravity and collisions for objects.
It initially appeared in the first public specification of WebGL, written in Java and called StormEngineJ. It was later ported to JavaScript which brought benefits with respect other 3D visualization methods in a web browser. For example, JavaScript does not require additional plug-ins for viewing.
The first version of the library was published on Google Code in February 2011. At the moment, there has not been offered a stable version of this.
Version 1.2 introduced a rendering system based on path tracing with the option to be used as render farm, as well as some facilities for starting up a game server using Node.js.