Skip to content

Framework for developing 3D web apps with physics.

License

Notifications You must be signed in to change notification settings

Eric013/whitestorm.js

 
 

Repository files navigation

        

<p align="center"><i><b>Framework for developing 3D web apps with physics.</b></i></p>



Features

  • Simple shape crafting — We use JSON-like structure for creating objects by inputed data and adding them to 3d world.

dodecahedron polyhedron icosahedron tetrahedron

  • 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 as autoresize: true.

  • ES6 Features - Framework is written with using latest features of ECMAScript 6 and ECMAScript 7 (beta) features and compiled with Babel.

es6      babel

Installation

It is advised to download your own copies of the following libraries, as large changes can break backwards compatibility.

Include Three.js and Physi.js libraries. Include a script tag linking the WhitestormJS library in your head or after your body:

<script src="three.js"></script>
<script src="physi.js"></script>
<!-- WhitestormJS library -->
<script src="{path_to_lib}/whitestorm.js"></script>

After adding these libraries, you can configure your app:

var world = new WHS.World({
    stats: "fps", // fps, ms, mb or false if not need.

    gravity: { // Physic gravity.
        x: 0,
        y: -100,
        z: 0
    },

    path_worker: 'physijs_worker.js', // Path to Physijs worker here.
    path_ammo: 'ammo.js' // Path to Ammo.js from Physijs worker.
});

// Define your scene objects here.

world.start(); // Start animations and physics simulation.

Join the chat at https://gitter.im/WhitestormJS/whitestorm.js

Documentation: Look here

Game example

Other examples:

  • FPS (First person example with Wagner effects and terrain. + fog)
  • Basic (Basic "Hello world!" example.)
  • Material (Basic example with material.)
  • Object/Model (Teapot model with Three.js JSONLoader.)
  • Plugin/Color (Basic plugin example.)
  • Skybox (Skybox example)
Changelog: Look here

Contributors:

Author

Contributor

Contributor

Contributor

Contributor


License

Лицензия Creative Commons


forthebadge

About

Framework for developing 3D web apps with physics.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%