|
@@ -77,19 +77,30 @@ THREE.Camera.prototype.update = function ( parentMatrixWorld, forceUpdate, camer
|
|
|
|
|
|
} else {
|
|
} else {
|
|
|
|
|
|
- if ( parentMatrixWorld ) {
|
|
|
|
|
|
+ if ( this.matrixAutoUpdate ) {
|
|
|
|
|
|
- this.matrixWorld.multiply( parentMatrixWorld, this.matrix );
|
|
|
|
|
|
+ forceUpdate |= this.updateMatrix();
|
|
|
|
|
|
- } else {
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- this.matrixWorld.copy( this.matrix );
|
|
|
|
|
|
+ if ( forceUpdate || this.matrixWorldNeedsUpdate ) {
|
|
|
|
|
|
- }
|
|
|
|
|
|
+ if ( parentMatrixWorld ) {
|
|
|
|
|
|
- THREE.Matrix4.makeInvert( this.matrixWorld, this.matrixWorldInverse );
|
|
|
|
|
|
+ this.matrixWorld.multiply( parentMatrixWorld, this.matrix );
|
|
|
|
|
|
- forceUpdate = true;
|
|
|
|
|
|
+ } else {
|
|
|
|
+
|
|
|
|
+ this.matrixWorld.copy( this.matrix );
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ this.matrixWorldNeedsUpdate = false;
|
|
|
|
+ forceUpdate = true;
|
|
|
|
+
|
|
|
|
+ THREE.Matrix4.makeInvert( this.matrixWorld, this.matrixWorldInverse );
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|