code: function markUniformsLightsNeedsUpdate ( uniforms, boolean ) {
  
  		uniforms.ambientLightColor.needsUpdate = boolean;
  
  		uniforms.directionalLightColor.needsUpdate = boolean;
  		uniforms.directionalLightDirection.needsUpdate = boolean;
  
  		uniforms.pointLightColor.needsUpdate = boolean;
  		uniforms.pointLightPosition.needsUpdate = boolean;
  		uniforms.pointLightDistance.needsUpdate = boolean;
  
  		uniforms.spotLightColor.needsUpdate = boolean;
  		uniforms.spotLightPosition.needsUpdate = boolean;
  		uniforms.spotLightDistance.needsUpdate = boolean;
  		uniforms.spotLightDirection.needsUpdate = boolean;
  		uniforms.spotLightAngleCos.needsUpdate = boolean;
  		uniforms.spotLightExponent.needsUpdate = boolean;
  
  		uniforms.hemisphereLightSkyColor.needsUpdate = boolean;
  		uniforms.hemisphereLightGroundColor.needsUpdate = boolean;
  		uniforms.hemisphereLightDirection.needsUpdate = boolean;
  
  	}
docs: If uniforms are marked as clean, they don't need to be loaded to the GPU.