All Projects → BabylonJS → Babylon.js

BabylonJS / Babylon.js

Licence: apache-2.0
Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework.

Programming Languages

typescript
32286 projects
HLSL
714 projects
javascript
184084 projects - #8 most used programming language
Roff
2310 projects
SCSS
7915 projects
HTML
75241 projects

Projects that are alternatives of or similar to Babylon.js

Three.js
JavaScript 3D Library.
Stars: ✭ 78,237 (+405.44%)
Mutual labels:  3d, webgl, webgl2, webaudio, webxr, webgpu
Engine
Fast and lightweight JavaScript game engine built on WebGL and glTF
Stars: ✭ 6,890 (-55.49%)
Mutual labels:  game-development, game-engine, webgl, webgl2, webvr, webxr
Nunustudio
Web powered cross-platform 3D, WebXR game engine.
Stars: ✭ 1,302 (-91.59%)
Mutual labels:  game-engine, 3d, webgl, webvr, webxr
Melonjs
a fresh & lightweight javascript game engine
Stars: ✭ 3,721 (-75.96%)
Mutual labels:  game-development, game-engine, webgl, webgl2, webaudio
Glas
WebGL in WebAssembly with AssemblyScript
Stars: ✭ 278 (-98.2%)
Mutual labels:  game-development, game-engine, 3d, webgl
Helixjs
A Javascript 3D game engine.
Stars: ✭ 84 (-99.46%)
Mutual labels:  game-engine, 3d, webgl, webgl2
Taro
A lightweight 3D game engine for the web.
Stars: ✭ 345 (-97.77%)
Mutual labels:  3d, webgl, webaudio, webxr
Roygbiv
A 3D engine for the Web
Stars: ✭ 499 (-96.78%)
Mutual labels:  game-development, game-engine, 3d, webgl
Spector.js
Explore and Troubleshoot your WebGL scenes with ease.
Stars: ✭ 599 (-96.13%)
Mutual labels:  3d, webgl, webgl2, webvr
Jme Clj
A Clojure 3D Game Engine Wrapper, Powered By jMonkeyEngine
Stars: ✭ 83 (-99.46%)
Mutual labels:  game-development, game-engine, game-engine-3d
Curtainsjs
curtains.js is a lightweight vanilla WebGL javascript library that turns HTML DOM elements into interactive textured planes.
Stars: ✭ 1,039 (-93.29%)
Mutual labels:  3d, webgl, webgl2
Lumberyard
Amazon Lumberyard is a free AAA game engine deeply integrated with AWS and Twitch – with full source.
Stars: ✭ 1,785 (-88.47%)
Mutual labels:  game-development, game-engine, game-engine-3d
3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (-24.43%)
Mutual labels:  game-development, 3d, webgl
Vimeo Depth Player
A WebVR volumetric video renderer that uses color-depth based videos hosted on Vimeo.
Stars: ✭ 65 (-99.58%)
Mutual labels:  3d, webgl, webvr
Gplayengine
Cross-platform C++ 2D / 3D game engine.
Stars: ✭ 129 (-99.17%)
Mutual labels:  game-development, game-engine, 3d
Gamedev Resources
🎮 🎲 A wonderful list of Game Development resources.
Stars: ✭ 2,054 (-86.73%)
Mutual labels:  game-development, game-engine, 3d
Exokit
Native VR/AR/XR engine for JavaScript 🦖
Stars: ✭ 809 (-94.77%)
Mutual labels:  webgl, webvr, webxr
Lba2remake
A Little Big Adventure 2 / Twinsen's Odyssey reimplementation in JavaScript / Three.js / React
Stars: ✭ 116 (-99.25%)
Mutual labels:  game-engine, 3d, webgl
Unity Webxr Export
Develop and export WebXR experiences using Unity WebGL
Stars: ✭ 130 (-99.16%)
Mutual labels:  webgl, webvr, webxr
Aframe
🅰️ web framework for building virtual reality experiences.
Stars: ✭ 13,428 (-13.25%)
Mutual labels:  game-engine, 3d, webvr

Babylon.js

Getting started? Play directly with the Babylon.js API using our playground. It also contains a lot of samples to learn how to use it.

npm version Build Status Average time to resolve an issue Percentage of issues still open Build Size Twitter Discourse users

Any questions? Here is our official forum.

CDN

Additional references can be found on https://cdn.babylonjs.com/xxx where xxx is the folder structure you can find in the /dist folder like https://cdn.babylonjs.com/gui/babylon.gui.min.js

For the preview release, use the following URLs:

Additional references can be found on https://preview.babylonjs.com/xxx where xxx is the folder structure you can find in the /dist/preview release folder like https://preview.babylonjs.com/gui/babylon.gui.min.js

npm

BabylonJS and its modules are published on npm with full typing support. To install, use:

npm install babylonjs --save

This will allow you to import BabylonJS entirely using:

import * as BABYLON from 'babylonjs';

or individual classes using:

import { Scene, Engine } from 'babylonjs';

If using TypeScript, don't forget to add 'babylonjs' to 'types' in tsconfig.json:

    ...
    "types": [
        "babylonjs",
        "anotherAwesomeDependency"
    ],
    ...

To add a module, install the respective package. A list of extra packages and their installation instructions can be found on the babylonjs user on npm.

Usage

See Getting Started:

// Get the canvas DOM element
var canvas = document.getElementById('renderCanvas');
// Load the 3D engine
var engine = new BABYLON.Engine(canvas, true, {preserveDrawingBuffer: true, stencil: true});
// CreateScene function that creates and return the scene
var createScene = function(){
    // Create a basic BJS Scene object
    var scene = new BABYLON.Scene(engine);
    // Create a FreeCamera, and set its position to {x: 0, y: 5, z: -10}
    var camera = new BABYLON.FreeCamera('camera1', new BABYLON.Vector3(0, 5, -10), scene);
    // Target the camera to scene origin
    camera.setTarget(BABYLON.Vector3.Zero());
    // Attach the camera to the canvas
    camera.attachControl(canvas, false);
    // Create a basic light, aiming 0, 1, 0 - meaning, to the sky
    var light = new BABYLON.HemisphericLight('light1', new BABYLON.Vector3(0, 1, 0), scene);
    // Create a built-in "sphere" shape using the SphereBuilder
    var sphere = BABYLON.MeshBuilder.CreateSphere('sphere1', {segments: 16, diameter: 2, sideOrientation: BABYLON.Mesh.FRONTSIDE}, scene);
    // Move the sphere upward 1/2 of its height
    sphere.position.y = 1;
    // Create a built-in "ground" shape;
    var ground = BABYLON.MeshBuilder.CreateGround("ground1", { width: 6, height: 6, subdivisions: 2, updatable: false }, scene);
    // Return the created scene
    return scene;
}
// call the createScene function
var scene = createScene();
// run the render loop
engine.runRenderLoop(function(){
    scene.render();
});
// the canvas/window resize event handler
window.addEventListener('resize', function(){
    engine.resize();
});

Preview release

Preview version of 5.0 can be found here. If you want to contribute, please read our contribution guidelines first.

Documentation

Contributing

Please see the Contributing Guidelines.

Useful links

  • Official web site: www.babylonjs.com
  • Online playground to learn by experimentating
  • Online sandbox where you can test your .babylon and glTF scenes with a simple drag'n'drop
  • Online shader creation tool where you can learn how to create GLSL shaders
  • 3DS Max exporter can be used to generate a .babylon file from 3DS Max
  • Maya exporter can be used to generate a .babylon file from Maya
  • Blender exporter can be used to generate a .babylon file from Blender 3d
  • Unity 5 (deprecated) exporter can be used to export your geometries from Unity 5 scene editor(animations are supported)
  • glTF Tools by KhronosGroup

Features

To get a complete list of supported features, please visit our website.

Build

Babylon.js is automatically built using Gulp. Further instructions can be found in the documentation or in the readme at /Tools/Gulp.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].