<p align="center"><i><b>Framework for developing 3D web apps with physics.</b></i></p>
- Simple shape crafting — We use JSON-like structure for creating objects by inputed data and adding them to 3d world.
- Physics with WebWorkers — It uses Physi.js library for calculating physics of 3D shapes with WebWorkers technology that allows to make rendering an calculating physics in multiple threads.
-
Plugin system — Framework supports plugins & components made by other users. You need to include them after whitestorm.js and follow provided instructions.
-
Automatization of rendering — Framework does rendering automatically and doesn't need function to be called for it. Functionality like
resize
function can be called automatically by setting additional parameters such asautoresize: true
. -
ES6 Features - Framework is written with using latest features of ECMAScript 6 and ECMAScript 7 (beta) features and compiled with Babel.
Include a script tag linking the WhitestormJS library in your head
or after your body
:
<script src="{path_to_lib}/whitestorm.js"></script>
After adding these libraries, you can configure your app:
const world = new WHS.World({
stats: "fps", // fps, ms, mb or false if not need.
gravity: { // Physic gravity.
x: 0,
y: -100,
z: 0
}
});
// Define your scene objects here.
world.start(); // Start animations and physics simulation.
Documentation: Look here
- Basic / Hello world (Basic "Hello world!" example.)
- Basic / Model (Basic model example.)
- Basic / Debugging (Object's debug example.)
- Basic / Extending API (Extending api example.)
- Design / Saturn (Saturn planet example from: http://codepen.io/Yakudoo/pen/qbygaJ)
- Design / Easter (Easter rabbit with easter eggs.)
- FPS / Shooter (First person example with Wagner effects and terrain. + fog)
- FPS / Fog (First person game with animated objects)
- Physics/Dominos (Physics example with dominos.)