Skip to content

GooTechnologies/goojs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1aa882e · Jun 22, 2016
Mar 13, 2016
Apr 4, 2016
Apr 4, 2016
Mar 31, 2016
Jun 22, 2016
Jun 22, 2016
Apr 22, 2016
Apr 16, 2016
Apr 13, 2015
Apr 11, 2016
Mar 18, 2016
Nov 22, 2015
Jun 8, 2016
Dec 10, 2015
Dec 2, 2015
May 4, 2015
Jan 8, 2015
Jun 13, 2016
Nov 16, 2015
May 6, 2016
Apr 19, 2016
Jun 8, 2016
Jun 13, 2016

Repository files navigation

Goo Engine

Goo Engine is an open-source 3D engine using HTML5 and WebGL for rendering.

Showcases



More showcases...

Install

Browser: add the following to your webpage.

<script src="http://code.gooengine.com/latest/lib/goo.js"></script>

Node.js:

npm install --save goojs

Sample code

Open on codepen

// var goo = require('goojs'); // (for node.js)

// Create a runner
var gooRunner = new goo.GooRunner();
var world = gooRunner.world;

// Add the canvas to the DOM
document.body.appendChild(gooRunner.renderer.domElement);

// Add a light entity
world.createEntity(new goo.PointLight(), [100, 100, 100]).addToWorld();

// Add a camera entity
world.createEntity(new goo.Camera(), new goo.OrbitCamControlScript({spherical: [5,0,0]})).addToWorld();

// Add a box entity with a rotation script
world.createEntity(new goo.Box(), goo.Material.createMaterial(goo.ShaderLib.simpleLit), function update(entity) {
    entity.setRotation(world.time, world.time, 0);
}).addToWorld();

Documentation

Releases

Goo Create Platform

Goo Create is a complete 3D authoring platform built on top of the Goo Engine.

How to build

npm install
npm install -g grunt-cli
grunt minify

Unit testing

  • Run grunt unittest to run all tests using Karma
  • Run npm test to test the parts of the engine that are supported in Node.js

Visual tests

Start a web server, e.g. using:

npm install st -g
st --port 8000

And then open:

Code style checks

To make sure that no incorrectly styled code gets committed, install the pre-commit hook:

grunt init-git

This makes Git check whether all added and modified files pass the style check before allowing a commit.

Documentation

grunt jsdoc - outputs to out-doc

GooJS uses a custom documentation compiler, modoc; see tools/modoc/README.md for more details.

Building details

  • Minified and mangled: grunt minify
  • Minified: grunt minify-no-mangle
  • Concatenated: grunt minify-dev

License

The Goo Engine is released under the MIT license.