# HG changeset patch # User Eugen Sawin # Date 1304089815 -7200 # Node ID 7769f6e1e2c554195757fa8ce97ebad4dde23f0e # Parent f471c01dca992b46ad8390cd6a3117d93773b114 Added cube vbos and ids. diff -r f471c01dca99 -r 7769f6e1e2c5 scripts/cube.js --- a/scripts/cube.js Wed Apr 27 15:13:34 2011 +0200 +++ b/scripts/cube.js Fri Apr 29 17:10:15 2011 +0200 @@ -20,8 +20,7 @@ for (var id in this.children) this.children[id].update(time); } - -function Cube(size, context) +function CubeVbo(size, context) { var gl = context.gl; this.size = size || 1; @@ -138,4 +137,11 @@ gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint16Array(indices), gl.STATIC_DRAW); this.indexBuffer.itemSize = 1; this.indexBuffer.numItems = 36; +} + +var id = 0; +function Cube(vbo) +{ + this.id = id++; + this.vbo = vbo; } \ No newline at end of file diff -r f471c01dca99 -r 7769f6e1e2c5 scripts/machine.js --- a/scripts/machine.js Wed Apr 27 15:13:34 2011 +0200 +++ b/scripts/machine.js Fri Apr 29 17:10:15 2011 +0200 @@ -22,7 +22,7 @@ context.expand(); var gl = context.gl; var scene = createScene(context); - gl.clearColor(0.05, 0.05, 0.05, 1.0); + gl.clearColor(0.00, 0.0, 0.0, 1.0); gl.enable(gl.DEPTH_TEST); machine = new Machine(scene); camera = new Camera(cameraSpeed, [0, 0, 20]); @@ -42,15 +42,15 @@ function createScene(context) { var size = 1; - var cube = new Cube(size, context); - var scene = new Node([0, 0, 0], [0, 0, 0], cube); + var vbo = new CubeVbo(size, context); + var scene = new Node([0, 0, 0], [0, 0, 0], new Cube(vbo)); var dim = 10; var d = size * 4; for (var x = 0; x < dim; x += 1) { for (var y = 0; y < dim; y += 1) { for (var z = 0; z < dim; z += 1) { var pos = [x * d - dim * d / 2, y * d - dim * d / 2, -z * d]; - scene.children.push(new Node(pos, [0, 0, 0], cube)); + scene.children.push(new Node(pos, [0, 0, 0], new Cube(vbo))); } } } diff -r f471c01dca99 -r 7769f6e1e2c5 scripts/renderer.js --- a/scripts/renderer.js Wed Apr 27 15:13:34 2011 +0200 +++ b/scripts/renderer.js Fri Apr 29 17:10:15 2011 +0200 @@ -131,7 +131,7 @@ var lighting = true; gl.uniform1i(shader.useLightingUniform, lighting); - gl.uniform1f(shader.materialShininessUniform, 25.0); + gl.uniform1f(shader.materialShininessUniform, 20.0); if (lighting) { @@ -140,9 +140,9 @@ var pos = [0, 0, 0]; gl.uniform3f(shader.pointLightingLocationUniform, pos[0], pos[1], pos[2]); - uni = .5; + uni = 1.0; gl.uniform3f(shader.pointLightingSpecularColourUniform, uni, uni, uni); - uni = .1; + uni = .05; gl.uniform3f(shader.pointLightingDiffuseColourUniform, uni, uni, uni); // var lightingDir = vec3.create(); @@ -175,9 +175,10 @@ mat4.translate(mvMatrix, node.pos); //mat4.rotate(mvMatrix, node.rot); //mat4.multiply(mvMatrix, node.matrix); - var object = node.geometry; - if (object) + var geometry = node.geometry; + if (geometry) { + var object = geometry.vbo; gl.bindBuffer(gl.ARRAY_BUFFER, object.positionBuffer); gl.vertexAttribPointer(shader.vertexPosition, object.positionBuffer.itemSize, gl.FLOAT, false, 0, 0);