Added cube vbos and ids.
authorEugen Sawin <sawine@me73.com>
Fri, 29 Apr 2011 17:10:15 +0200
changeset 357769f6e1e2c5
parent 34 f471c01dca99
child 36 a828c4cde5b3
Added cube vbos and ids.
scripts/cube.js
scripts/machine.js
scripts/renderer.js
     1.1 --- a/scripts/cube.js	Wed Apr 27 15:13:34 2011 +0200
     1.2 +++ b/scripts/cube.js	Fri Apr 29 17:10:15 2011 +0200
     1.3 @@ -20,8 +20,7 @@
     1.4      for (var id in this.children) this.children[id].update(time);
     1.5  }
     1.6  
     1.7 -
     1.8 -function Cube(size, context)
     1.9 +function CubeVbo(size, context)
    1.10  {
    1.11      var gl = context.gl;
    1.12      this.size = size || 1;    
    1.13 @@ -138,4 +137,11 @@
    1.14      gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint16Array(indices), gl.STATIC_DRAW);
    1.15      this.indexBuffer.itemSize = 1;
    1.16      this.indexBuffer.numItems = 36;
    1.17 +}
    1.18 +
    1.19 +var id = 0;
    1.20 +function Cube(vbo)
    1.21 +{
    1.22 +    this.id = id++;
    1.23 +    this.vbo = vbo;
    1.24  }
    1.25 \ No newline at end of file
     2.1 --- a/scripts/machine.js	Wed Apr 27 15:13:34 2011 +0200
     2.2 +++ b/scripts/machine.js	Fri Apr 29 17:10:15 2011 +0200
     2.3 @@ -22,7 +22,7 @@
     2.4      context.expand();
     2.5      var gl = context.gl;
     2.6      var scene = createScene(context);   
     2.7 -    gl.clearColor(0.05, 0.05, 0.05, 1.0);
     2.8 +    gl.clearColor(0.00, 0.0, 0.0, 1.0);
     2.9      gl.enable(gl.DEPTH_TEST);
    2.10      machine = new Machine(scene);       
    2.11      camera = new Camera(cameraSpeed, [0, 0, 20]);
    2.12 @@ -42,15 +42,15 @@
    2.13  function createScene(context)
    2.14  {
    2.15      var size = 1;
    2.16 -    var cube = new Cube(size, context);
    2.17 -    var scene = new Node([0, 0, 0], [0, 0, 0], cube);
    2.18 +    var vbo = new CubeVbo(size, context);
    2.19 +    var scene = new Node([0, 0, 0], [0, 0, 0], new Cube(vbo));
    2.20      var dim = 10;
    2.21      var d = size * 4;
    2.22      for (var x = 0; x < dim; x += 1) {
    2.23  	for (var y = 0; y < dim; y += 1) {
    2.24  	    for (var z = 0; z < dim; z += 1) {		
    2.25  		var pos = [x * d - dim * d / 2, y * d - dim * d / 2, -z * d];
    2.26 -		scene.children.push(new Node(pos, [0, 0, 0], cube));
    2.27 +		scene.children.push(new Node(pos, [0, 0, 0], new Cube(vbo)));
    2.28  	    }
    2.29  	}
    2.30      }
     3.1 --- a/scripts/renderer.js	Wed Apr 27 15:13:34 2011 +0200
     3.2 +++ b/scripts/renderer.js	Fri Apr 29 17:10:15 2011 +0200
     3.3 @@ -131,7 +131,7 @@
     3.4  
     3.5      var lighting = true;
     3.6      gl.uniform1i(shader.useLightingUniform, lighting);
     3.7 -    gl.uniform1f(shader.materialShininessUniform, 25.0);
     3.8 +    gl.uniform1f(shader.materialShininessUniform, 20.0);
     3.9     
    3.10      if (lighting)
    3.11      {   
    3.12 @@ -140,9 +140,9 @@
    3.13  
    3.14  	var pos = [0, 0, 0];
    3.15  	gl.uniform3f(shader.pointLightingLocationUniform, pos[0], pos[1], pos[2]);
    3.16 -	uni = .5;
    3.17 +	uni = 1.0;
    3.18  	gl.uniform3f(shader.pointLightingSpecularColourUniform, uni, uni, uni);
    3.19 -	uni = .1;
    3.20 +	uni = .05;
    3.21  	gl.uniform3f(shader.pointLightingDiffuseColourUniform, uni, uni, uni);
    3.22  
    3.23  	// var lightingDir = vec3.create();
    3.24 @@ -175,9 +175,10 @@
    3.25  	mat4.translate(mvMatrix, node.pos);
    3.26  	//mat4.rotate(mvMatrix, node.rot);
    3.27  	//mat4.multiply(mvMatrix, node.matrix);
    3.28 -	var object = node.geometry;
    3.29 -	if (object)
    3.30 +	var geometry = node.geometry;
    3.31 +	if (geometry)
    3.32  	{
    3.33 +	    var object = geometry.vbo;
    3.34  	    gl.bindBuffer(gl.ARRAY_BUFFER, object.positionBuffer);
    3.35  	    gl.vertexAttribPointer(shader.vertexPosition, object.positionBuffer.itemSize, gl.FLOAT, false, 0, 0);
    3.36