Giter Site home page Giter Site logo

goojs's Introduction

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.