diff --git a/src/lights/PointLightShadow.js b/src/lights/PointLightShadow.js index 86847d10c8c9d9..4d196e90a29c06 100644 --- a/src/lights/PointLightShadow.js +++ b/src/lights/PointLightShadow.js @@ -17,6 +17,8 @@ class PointLightShadow extends LightShadow { this.isPointLightShadow = true; + this.shadowLimit = 500; + this._frameExtents = new Vector2( 4, 2 ); this._viewportCount = 6; @@ -66,7 +68,7 @@ class PointLightShadow extends LightShadow { const camera = this.camera; const shadowMatrix = this.matrix; - const far = light.distance || camera.far; + const far = light.distance || this.shadowLimit; if ( far !== camera.far ) { diff --git a/src/lights/SpotLightShadow.js b/src/lights/SpotLightShadow.js index 7fa37b32f6f295..ee8630d29b14b8 100644 --- a/src/lights/SpotLightShadow.js +++ b/src/lights/SpotLightShadow.js @@ -12,6 +12,8 @@ class SpotLightShadow extends LightShadow { this.focus = 1; + this.shadowLimit = 500; + } updateMatrices( light ) { @@ -20,7 +22,7 @@ class SpotLightShadow extends LightShadow { const fov = MathUtils.RAD2DEG * 2 * light.angle * this.focus; const aspect = this.mapSize.width / this.mapSize.height; - const far = light.distance || camera.far; + const far = light.distance || this.shadowLimit; if ( fov !== camera.fov || aspect !== camera.aspect || far !== camera.far ) {