text: /**
   * @author alteredq / http://alteredqualia.com/
   */
  
  THREE.SpotLight = function ( hex, intensity, distance, angle, exponent ) {
  
  	THREE.Light.call( this, hex );
  
  	this.position.set( 0, 1, 0 );
  	this.target = new THREE.Object3D();
  
  	this.intensity = ( intensity !== undefined ) ? intensity : 1;
  	this.distance = ( distance !== undefined ) ? distance : 0;
  	this.angle = ( angle !== undefined ) ? angle : Math.PI / 2;
  	this.exponent = ( exponent !== undefined ) ? exponent : 10;
  
  	this.castShadow = false;
  	this.onlyShadow = false;
  
  	//
  
  	this.shadowCameraNear = 50;
  	this.shadowCameraFar = 5000;
  	this.shadowCameraFov = 50;
  
  	this.shadowCameraVisible = false;
  
  	this.shadowBias = 0;
  	this.shadowDarkness = 0.5;
  
  	this.shadowMapWidth = 512;
  	this.shadowMapHeight = 512;
  
  	//
  
  	this.shadowMap = null;
  	this.shadowMapSize = null;
  	this.shadowCamera = null;
  	this.shadowMatrix = null;
  
  };
  
  THREE.SpotLight.prototype = Object.create( THREE.Light.prototype );
  
  THREE.SpotLight.prototype.clone = function () {
  
  	var light = new THREE.SpotLight();
  
  	THREE.Light.prototype.clone.call( this, light );
  
  	light.target = this.target.clone();
  
  	light.intensity = this.intensity;
  	light.distance = this.distance;
  	light.angle = this.angle;
  	light.exponent = this.exponent;
  
  	light.castShadow = this.castShadow;
  	light.onlyShadow = this.onlyShadow;
  
  	return light;
  
  };
  