diff --git a/build/Three.js b/build/Three.js index 00c29cc2..7c8632a0 100755 --- a/build/Three.js +++ b/build/Three.js @@ -162,7 +162,7 @@ THREE.DirectionalLight&&y++;v instanceof THREE.PointLight&&t++}if(t+y<=4){u=y;t= c.attachShader(s,i("fragment",v+t));c.attachShader(s,i("vertex",y+u));c.linkProgram(s);c.getProgramParameter(s,c.LINK_STATUS)||alert("Could not initialise shaders\nVALIDATE_STATUS: "+c.getProgramParameter(s,c.VALIDATE_STATUS)+", gl error ["+c.getError()+"]");s.uniforms={};s.attributes={};l.program=s;t=["viewMatrix","modelViewMatrix","projectionMatrix","normalMatrix","objectMatrix","cameraPosition"];for(h in l.uniforms)t.push(h);h=l.program;u=0;for(s=t.length;u=0){c.bindBuffer(c.ARRAY_BUFFER,m.__webGLNormalBuffer); diff --git a/build/ThreeDebug.js b/build/ThreeDebug.js index efe2e3a6..26f31023 100644 --- a/build/ThreeDebug.js +++ b/build/ThreeDebug.js @@ -163,7 +163,7 @@ THREE.DirectionalLight&&y++;w instanceof THREE.PointLight&&t++}if(t+y<=4){u=y;t= c.attachShader(s,i("fragment",w+t));c.attachShader(s,i("vertex",y+u));c.linkProgram(s);c.getProgramParameter(s,c.LINK_STATUS)||alert("Could not initialise shaders\nVALIDATE_STATUS: "+c.getProgramParameter(s,c.VALIDATE_STATUS)+", gl error ["+c.getError()+"]");s.uniforms={};s.attributes={};l.program=s;t=["viewMatrix","modelViewMatrix","projectionMatrix","normalMatrix","objectMatrix","cameraPosition"];for(h in l.uniforms)t.push(h);h=l.program;u=0;for(s=t.length;u=0){c.bindBuffer(c.ARRAY_BUFFER,n.__webGLNormalBuffer); diff --git a/build/ThreeExtras.js b/build/ThreeExtras.js index 85a74f25..e03d6e48 100644 --- a/build/ThreeExtras.js +++ b/build/ThreeExtras.js @@ -162,7 +162,7 @@ THREE.DirectionalLight&&E++;D instanceof THREE.PointLight&&w++}if(w+E<=4){z=E;w= c.attachShader(x,g("fragment",D+w));c.attachShader(x,g("vertex",E+z));c.linkProgram(x);c.getProgramParameter(x,c.LINK_STATUS)||alert("Could not initialise shaders\nVALIDATE_STATUS: "+c.getProgramParameter(x,c.VALIDATE_STATUS)+", gl error ["+c.getError()+"]");x.uniforms={};x.attributes={};n.program=x;w=["viewMatrix","modelViewMatrix","projectionMatrix","normalMatrix","objectMatrix","cameraPosition"];for(l in n.uniforms)w.push(l);l=n.program;z=0;for(x=w.length;z=0){c.bindBuffer(c.ARRAY_BUFFER,o.__webGLNormalBuffer); diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js index ecf3e2a8..cc411f31 100644 --- a/src/renderers/WebGLRenderer.js +++ b/src/renderers/WebGLRenderer.js @@ -1089,10 +1089,12 @@ THREE.WebGLRenderer = function ( parameters ) { for( u in uniforms ) { + location = program.uniforms[u]; + if ( !location ) continue; + type = uniforms[u].type; value = uniforms[u].value; - location = program.uniforms[u]; - + if( type == "i" ) { _gl.uniform1i( location, value );