1.1 --- a/scripts/machine.js Wed Apr 27 00:45:37 2011 +0200
1.2 +++ b/scripts/machine.js Wed Apr 27 02:04:45 2011 +0200
1.3 @@ -2,7 +2,7 @@
1.4 var renderer;
1.5 var controller;
1.6 var camera;
1.7 -var cameraSpeed = {"h": 0.1, "v": 0.1, "zoom": 0.5, "pitch": 1.0, "yaw": 1.0, "roll": 1.0};
1.8 +var cameraSpeed = {"h": 1.0, "v": 1.0, "zoom": 1.0, "pitch": 1.0, "yaw": 1.0, "roll": 1.0};
1.9 var keyActionMap = {'A': moveCameraLeft,
1.10 'D': moveCameraRight,
1.11 'W': moveCameraUp,
1.12 @@ -21,10 +21,10 @@
1.13 var context = new Context(canvas);
1.14 context.expand();
1.15 var gl = context.gl;
1.16 - var object = new Cube(1, context);
1.17 + var scene = createScene(context);
1.18 gl.clearColor(0.0, 0.0, 0.0, 1.0);
1.19 gl.enable(gl.DEPTH_TEST);
1.20 - machine = new Machine(object);
1.21 + machine = new Machine(scene);
1.22 camera = new Camera(cameraSpeed, [0, 5, 20]);
1.23 renderer = new Renderer(camera, context);
1.24 controller = new Controller(keyActionMap, mouseActionMap, camera, machine, renderer);
1.25 @@ -39,6 +39,22 @@
1.26 //read("config/camera", configureCamera);
1.27 }
1.28
1.29 +function createScene(context)
1.30 +{
1.31 + var scene = new Node([0, 0, 0], [0, 0, 0], new Cube(1, context));
1.32 + var dim = 3;
1.33 + var d = 3;
1.34 + for (var x = 0; x < dim; x += 1) {
1.35 + for (var y = 0; y < dim; y += 1) {
1.36 + for (var z = 0; z < dim; z += 1) {
1.37 + var pos = [x * d, y * d, -z * d];
1.38 + scene.children.push(new Node(pos, [0, 0, 0], new Cube(1, context)));
1.39 + }
1.40 + }
1.41 + }
1.42 + return scene;
1.43 +}
1.44 +
1.45 function configureCamera(config) {
1.46 alert(config);
1.47 }
1.48 @@ -47,10 +63,11 @@
1.49 {
1.50 requestAnimFrame(update);
1.51 controller.update();
1.52 - machine.scene.rotation.x += (random(0, 2) - 2) * 0.001;
1.53 - machine.scene.rotation.y += (random(0, 3) - 1) * 0.001;
1.54 - machine.scene.rotation.z += (random(0, 2) - 1) * 0.001;
1.55 + //machine.scene.rotation.x += (random(0, 2) - 2) * 0.001;
1.56 + // machine.scene.rotation.y += (random(0, 3) - 1) * 0.001;
1.57 + // machine.scene.rotation.z += (random(0, 2) - 1) * 0.001;
1.58 machine.update(new Date().getTime());
1.59 + camera.update();
1.60 renderer.update(machine.scene);
1.61 }
1.62
1.63 @@ -67,8 +84,7 @@
1.64 function Controller(keyActionMap, mouseActionMap, camera, machine, renderer)
1.65 {
1.66 this.keyboard = new Keyboard(keyActionMap);
1.67 - this.mouse = new Mouse(mouseActionMap);
1.68 -
1.69 + this.mouse = new Mouse(mouseActionMap);
1.70 }
1.71 Controller.prototype.update = function()
1.72 {
1.73 @@ -183,6 +199,7 @@
1.74 }
1.75 Machine.prototype.update = function(time)
1.76 {
1.77 + this.scene.update(time);
1.78 if (this.lastUpdate != 0)
1.79 {
1.80 var diff = time - this.lastUpdate;