Skip to content

Commit

Permalink
* Got first test for three.js working
Browse files Browse the repository at this point in the history
  • Loading branch information
aelaguiz committed Feb 21, 2011
1 parent 8d4a4f0 commit 2232d4f
Show file tree
Hide file tree
Showing 12 changed files with 131 additions and 4 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@
[submodule "lib/three"]
path = lib/three
url = https://github.com/mrdoob/three.js.git
[submodule "lib/jquery"]
path = lib/jquery
url = https://github.com/jquery/jquery.git
11 changes: 10 additions & 1 deletion app.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,18 @@ app.get('/', function(req, res){
});
});

app.get('/threeTest', function(req, res){
res.render('threeTest', {
locals: {
title: 'Three.js test'
}
});
});


// Only listen on $ node app.js

if (!module.parent) {
app.listen(3000);
app.listen(8080);
console.log("Express server listening on port %d", app.address().port)
}
3 changes: 3 additions & 0 deletions lib/game/catapult.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Catapult = function Catapult {

}
1 change: 1 addition & 0 deletions lib/jquery
Submodule jquery added at 8d8db3
107 changes: 107 additions & 0 deletions lib/tests/threeTest.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
ThreeTest = function ThreeTest(container, stats) {
var _self = this,
_container = container,
_stats = stats;

var _camera,
_scene,
_renderer;

var _metrics = {
width: 720,
height: 320
}

function init() {
initView();
initGrid();
initLights();

setInterval(loop, 1000/30);
}

function initView() {
_camera = new THREE.Camera( 45, _metrics.width / _metrics.height, 1, 2000 );
// _camera.position.y = 200;
_camera.position.z = 800;

_scene = new THREE.Scene();

_renderer = new THREE.CanvasRenderer();
_renderer.setSize( _metrics.width, _metrics.height );

_container.appendChild(_renderer.domElement);
}

function initGrid() {
var geometry = new THREE.Geometry(),
material;

geometry.vertices.push( new THREE.Vertex( new THREE.Vector3( - 500, 0, 0 ) ) );
geometry.vertices.push( new THREE.Vertex( new THREE.Vector3( 500, 0, 0 ) ) );

material = new THREE.LineBasicMaterial( { color: 0x000000, opacity: 0.2 } );

for ( var i = 0; i <= 10; i ++ ) {

var line = new THREE.Line( geometry, material );
line.position.y = - 120;
line.position.z = ( i * 100 ) - 500;
_scene.addObject( line );

var line = new THREE.Line( geometry, material );
line.position.x = ( i * 100 ) - 500;
line.position.y = - 120;
line.rotation.y = 90 * Math.PI / 180;
_scene.addObject( line );

}
}

function initLights() {
_scene.addLight( new THREE.AmbientLight( Math.random() * 0x202020 ) );

/* var debugCanvas = document.createElement( 'canvas' );
debugCanvas.width = 512;
debugCanvas.height = 512;
debugCanvas.style.position = 'absolute';
debugCanvas.style.top = '0px';
debugCanvas.style.left = '0px';
_container.appendChild( debugCanvas );
var debugContext = debugCanvas.getContext( '2d' );
debugContext.setTransform( 1, 0, 0, 1, 256, 256 );
debugContext.strokeStyle = '#000000';*/
}

function loop() {
var timer = new Date().getTime() * 0.0010;

_camera.position.x = Math.cos( timer ) * 1000;
_camera.position.y = Math.sin( timer ) * 1000;
_camera.position.z = Math.sin( timer ) * 1000;

_renderer.render( _scene, _camera );

_stats.update();
}

init();
}

function main() {
var container = document.createElement('div'),
stats = new Stats();

document.body.appendChild(container);

stats.domElement.style.position = 'absolute';
stats.domElement.style.top = '0px';

container.appendChild(stats.domElement);

threeTest = new ThreeTest(container, stats);
}

main();
1 change: 1 addition & 0 deletions public/javascripts/jquery
1 change: 0 additions & 1 deletion public/javascripts/lib

This file was deleted.

1 change: 1 addition & 0 deletions public/javascripts/tests
1 change: 1 addition & 0 deletions public/javascripts/three
1 change: 1 addition & 0 deletions public/javascripts/three.stats.js
2 changes: 0 additions & 2 deletions views/index.ejs
Original file line number Diff line number Diff line change
@@ -1,2 +0,0 @@
<h1><%= title %></h1>
<p>Welcome to <%= title %></p>
3 changes: 3 additions & 0 deletions views/threeTest.ejs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<script type='text/javascript' src='javascripts/three/Three.js'></script>
<script type='text/javascript' src='javascripts/three.stats.js'></script>
<script type='text/javascript' src='javascripts/tests/threeTest.js'></script>

0 comments on commit 2232d4f

Please sign in to comment.