Selaa lähdekoodia

Add matrix calcs to direction shadow class

supereggbert 6 vuotta sitten
vanhempi
commit
0442b430be
1 muutettua tiedostoa jossa 21 lisäystä ja 2 poistoa
  1. 21 2
      src/lights/DirectionalLightShadow.js

+ 21 - 2
src/lights/DirectionalLightShadow.js

@@ -5,7 +5,7 @@ import { OrthographicCamera } from '../cameras/OrthographicCamera.js';
  * @author mrdoob / http://mrdoob.com/
  */
 
-function DirectionalLightShadow( ) {
+function DirectionalLightShadow() {
 
 	LightShadow.call( this, new OrthographicCamera( - 5, 5, 5, - 5, 0.5, 500 ) );
 
@@ -13,7 +13,26 @@ function DirectionalLightShadow( ) {
 
 DirectionalLightShadow.prototype = Object.assign( Object.create( LightShadow.prototype ), {
 
-	constructor: DirectionalLightShadow
+	constructor: DirectionalLightShadow,
+
+	isDirectionalLightShadow: true,
+
+  updateMatrices: function ( light, viewCamera, viewportIndex ) { 
+
+    var camera = this.camera,
+      lightPositionWorld = this._lightPositionWorld,
+      lookTarget = this._lookTarget;
+
+    lightPositionWorld.setFromMatrixPosition( light.matrixWorld );
+		camera.position.copy( lightPositionWorld );
+
+    lookTarget.setFromMatrixPosition( light.target.matrixWorld );
+		camera.lookAt( lookTarget );
+		camera.updateMatrixWorld();
+
+    LightShadow.prototype.updateMatrices.call( this, light, viewCamera, viewportIndex );
+
+  }
 
 } );