Skip to content

Commit aa30ab0

Browse files
committed
PointLightShadow: Use own private objects.
1 parent 4eb500d commit aa30ab0

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

src/lights/PointLightShadow.js

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
import { LightShadow } from './LightShadow.js';
22
import { PerspectiveCamera } from '../cameras/PerspectiveCamera.js';
3+
import { Matrix4 } from '../math/Matrix4.js';
34
import { Vector2 } from '../math/Vector2.js';
45
import { Vector3 } from '../math/Vector3.js';
56
import { Vector4 } from '../math/Vector4.js';
67

8+
const _projScreenMatrix = /*@__PURE__*/ new Matrix4();
9+
const _lightPositionWorld = /*@__PURE__*/ new Vector3();
10+
const _lookTarget = /*@__PURE__*/ new Vector3();
11+
712
class PointLightShadow extends LightShadow {
813

914
constructor() {
@@ -59,24 +64,21 @@ class PointLightShadow extends LightShadow {
5964
updateMatrices( light, viewportIndex = 0 ) {
6065

6166
const camera = this.camera;
62-
const shadowMatrix = this.matrix;
63-
const lightPositionWorld = this._lightPositionWorld;
64-
const lookTarget = this._lookTarget;
65-
const projScreenMatrix = this._projScreenMatrix;
67+
const shadowMatrix = this.matrix;
6668

67-
lightPositionWorld.setFromMatrixPosition( light.matrixWorld );
68-
camera.position.copy( lightPositionWorld );
69+
_lightPositionWorld.setFromMatrixPosition( light.matrixWorld );
70+
camera.position.copy( _lightPositionWorld );
6971

70-
lookTarget.copy( camera.position );
71-
lookTarget.add( this._cubeDirections[ viewportIndex ] );
72+
_lookTarget.copy( camera.position );
73+
_lookTarget.add( this._cubeDirections[ viewportIndex ] );
7274
camera.up.copy( this._cubeUps[ viewportIndex ] );
73-
camera.lookAt( lookTarget );
75+
camera.lookAt( _lookTarget );
7476
camera.updateMatrixWorld();
7577

76-
shadowMatrix.makeTranslation( - lightPositionWorld.x, - lightPositionWorld.y, - lightPositionWorld.z );
78+
shadowMatrix.makeTranslation( - _lightPositionWorld.x, - _lightPositionWorld.y, - _lightPositionWorld.z );
7779

78-
projScreenMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse );
79-
this._frustum.setFromProjectionMatrix( projScreenMatrix );
80+
_projScreenMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse );
81+
this._frustum.setFromProjectionMatrix( _projScreenMatrix );
8082

8183
}
8284

0 commit comments

Comments
 (0)