Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/GooTechnologies/goojs
3D WebGL engine.
https://github.com/GooTechnologies/goojs
Last synced: 15 days ago
JSON representation
3D WebGL engine.
- Host: GitHub
- URL: https://github.com/GooTechnologies/goojs
- Owner: GooTechnologies
- License: mit
- Created: 2015-11-16T13:47:43.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2016-07-14T09:34:27.000Z (over 8 years ago)
- Last Synced: 2024-11-28T22:27:48.256Z (15 days ago)
- Language: JavaScript
- Homepage: http://goocreate.com
- Size: 206 MB
- Stars: 1,213
- Watchers: 64
- Forks: 137
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES
- License: COPYING
Awesome Lists containing this project
README
# Goo Engine
Goo Engine is an open-source 3D engine using HTML5 and WebGL for rendering.
## Showcases
[More showcases...](http://goocreate.com/)
## Install
Browser: add the following to your webpage.
```html
```
Node.js:
```js
npm install --save goojs
```## Sample code
[Open on codepen](http://codepen.io/rherlitz/pen/yKruG)
```js
// 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
* [API Reference](http://code.gooengine.com/latest/docs/)
* [Learn pages](http://learn.goocreate.com/)
* [Forum](http://forum.goocreate.com/)## Releases
* [Goo Engine Releases](http://code.gooengine.com/)
## Goo Create Platform
[Goo Create](http://goocreate.com/) 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 8000And then open:
* Visual tests: [http://localhost:8000/visual-test/](http://localhost:8000/visual-test/)
## 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](http://opensource.org/licenses/MIT) license.