1.1 --- a/scripts/machine.js Fri Apr 29 17:10:15 2011 +0200
1.2 +++ b/scripts/machine.js Sat Apr 30 04:05:47 2011 +0200
1.3 @@ -1,5 +1,6 @@
1.4 var machine;
1.5 var renderer;
1.6 +var gl;
1.7 var controller;
1.8 var camera;
1.9 var cameraSpeed = {"h": 1.0, "v": 1.0, "zoom": 1.0, "pitch": 1.0, "yaw": 1.0, "roll": 1.0};
1.10 @@ -20,7 +21,7 @@
1.11 var canvas = document.getElementById("machine");
1.12 var context = new Context(canvas);
1.13 context.expand();
1.14 - var gl = context.gl;
1.15 + gl = context.gl;
1.16 var scene = createScene(context);
1.17 gl.clearColor(0.00, 0.0, 0.0, 1.0);
1.18 gl.enable(gl.DEPTH_TEST);
1.19 @@ -39,10 +40,34 @@
1.20 //read("config/camera", configureCamera);
1.21 }
1.22
1.23 +var textures = [];
1.24 +
1.25 +function Texture(file)
1.26 +{
1.27 + this.id = textures.length;
1.28 + textures.push(this);
1.29 + this.hnd = gl.createTexture();
1.30 + this.image = new Image();
1.31 + this.image.onload = function() { handleLoadedTexture(); }
1.32 + this.image.src = file;
1.33 +}
1.34 +
1.35 +function handleLoadedTexture()
1.36 +{
1.37 + var texture = textures[textures.length-1];
1.38 + gl.bindTexture(gl.TEXTURE_2D, texture.hnd);
1.39 + gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);
1.40 + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, texture.image);
1.41 + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
1.42 + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
1.43 + gl.bindTexture(gl.TEXTURE_2D, null);
1.44 +}
1.45 +
1.46 function createScene(context)
1.47 {
1.48 var size = 1;
1.49 - var vbo = new CubeVbo(size, context);
1.50 + var texture = new Texture("textures/nehe.gif");
1.51 + var vbo = new CubeVbo(size, context, texture);
1.52 var scene = new Node([0, 0, 0], [0, 0, 0], new Cube(vbo));
1.53 var dim = 10;
1.54 var d = size * 4;