diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js index c9fa45cc53c3fd38adfc94388539646415f32229..f6e518025bfd036489f0d7bdaed19ff0ff21089a 100644 --- a/src/renderers/WebGLRenderer.js +++ b/src/renderers/WebGLRenderer.js @@ -34,7 +34,7 @@ THREE.WebGLRenderer = function () { this.setupLights = function ( scene ) { - var l, ll, lightColor, lightPosition, light; + var l, ll, lightColor, lightPosition, lightIntensity, light; _gl.uniform1i( _program.enableLighting, scene.lights.length ); @@ -51,15 +51,17 @@ THREE.WebGLRenderer = function () { lightColor = light.color; lightPosition = light.position; + lightIntensity = light.intensity; _gl.uniform3f( _program.lightingDirection, lightPosition.x, lightPosition.y, lightPosition.z ); - _gl.uniform3f( _program.directionalColor, lightColor.r, lightColor.g, lightColor.b ); + _gl.uniform3f( _program.directionalColor, lightColor.r * lightIntensity, lightColor.g * lightIntensity, lightColor.b * lightIntensity ); } else if( light instanceof THREE.PointLight ) { lightColor = light.color; lightPosition = light.position; + lightIntensity = light.intensity; _gl.uniform3f( _program.pointPosition, lightPosition.x, lightPosition.y, lightPosition.z ); - _gl.uniform3f( _program.pointColor, lightColor.r, lightColor.g, lightColor.b ); + _gl.uniform3f( _program.pointColor, lightColor.r * lightIntensity, lightColor.g * lightIntensity, lightColor.b * lightIntensity ); }