Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/willcrichton/glen
Three.js extension for creating games in the browser.
https://github.com/willcrichton/glen
Last synced: 23 days ago
JSON representation
Three.js extension for creating games in the browser.
- Host: GitHub
- URL: https://github.com/willcrichton/glen
- Owner: willcrichton
- Created: 2011-07-15T16:38:48.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2024-06-19T15:06:14.000Z (6 months ago)
- Last Synced: 2024-10-22T11:36:55.403Z (2 months ago)
- Language: JavaScript
- Homepage:
- Size: 50.7 MB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# glen
### Purpose ###
Glen (short for GL Engine) is a game-oriented framework for 3D application development aimed at fusing essential features for 3D games
with simple abstractions to make it easy to jump right into game development.### Features ###
* Easy set up to get your world started
* Extensible system for managing objects in the world
* Support for both default and custom events (e.g. clicking an object)
* Integrated physics support
* Full screen support
* Mouse locking and FPS camera
* Multiplayer
### [Demo](http://willcrichton.net/glen) ###
```
var world = new Glen.World({
position: new THREE.Vector3(60, 50, 60),
controls: true,
fog: { color: 0xfeffd6 },
fullscreen: true,
skybox: { path: 'skybox/ '}
});world.add(new THREE.AmbientLight(0x111111));
var light = new Glen.Entity.DirectionalLight({
position: Glen.Util.Vector(-100, 50, 100),
intensity: 1,
color: 0xffffff
});
world.add(light);var floor = new Glen.Entity.Floor({
width: 100, depth: 100,
material: Glen.Util.Material("images/grass.jpg",
{friction: .8, restitution: .2, repeatX: 100, repeatY: 100}),
});
world.add(floor);var block = new Glen.Entity.Block({
width: 10, height: 10, depth: 10, mass: 100,
material: Glen.Util.ColorMaterial({color: new THREE.Color(0xff0000)}),
position: new THREE.Vector3(20, 20, 20)
});
world.add(block);world.initialize();
```### Thanks ####
This framework uses mrdoob's [three.js](http://www.github.com/mrdoob/three.js) for making rendering easy as well
as Chandler Prall's awesome [physijs](https://github.com/chandlerprall/Physijs) for the physics engine.