|
@@ -8,26 +8,23 @@ THREE.SpotLightShadow = function () {
|
|
|
|
|
|
};
|
|
|
|
|
|
-THREE.SpotLightShadow.prototype = {
|
|
|
+THREE.SpotLightShadow.prototype = Object.create( THREE.LightShadow.prototype );
|
|
|
+THREE.SpotLightShadow.prototype.constructor = THREE.SpotLightShadow;
|
|
|
|
|
|
- constructor: THREE.SpotLightShadow,
|
|
|
+THREE.SpotLightShadow.prototype.update = function ( light ) {
|
|
|
|
|
|
- update: function ( light ) {
|
|
|
+ var fov = THREE.Math.radToDeg( 2 * light.angle );
|
|
|
+ var aspect = this.mapSize.width / this.mapSize.height;
|
|
|
+ var far = light.distance || 500;
|
|
|
|
|
|
- var fov = THREE.Math.radToDeg( 2 * light.angle );
|
|
|
- var aspect = this.mapSize.width / this.mapSize.height;
|
|
|
- var far = light.distance || 500;
|
|
|
+ var camera = this.camera;
|
|
|
|
|
|
- var camera = this.camera;
|
|
|
+ if ( fov !== camera.fov || aspect !== camera.aspect || far !== camera.far ) {
|
|
|
|
|
|
- if ( fov !== camera.fov || aspect !== camera.aspect || far !== camera.far ) {
|
|
|
-
|
|
|
- camera.fov = fov;
|
|
|
- camera.aspect = aspect;
|
|
|
- camera.far = far;
|
|
|
- camera.updateProjectionMatrix();
|
|
|
-
|
|
|
- }
|
|
|
+ camera.fov = fov;
|
|
|
+ camera.aspect = aspect;
|
|
|
+ camera.far = far;
|
|
|
+ camera.updateProjectionMatrix();
|
|
|
|
|
|
}
|
|
|
|