Przeglądaj źródła

added a method to force camera's projection matrix

Vousk-prod 8 lat temu
rodzic
commit
808c901575
1 zmienionych plików z 7 dodań i 1 usunięć
  1. 7 1
      src/Cameras/babylon.camera.ts

+ 7 - 1
src/Cameras/babylon.camera.ts

@@ -123,6 +123,7 @@
         // Cache
         private _computedViewMatrix = Matrix.Identity();
         public _projectionMatrix = new Matrix();
+        private _doNotComputeProjectionMatrix = false;
         private _worldMatrix: Matrix;
         public _postProcesses = new Array<PostProcess>();
         private _transformMatrix = Matrix.Zero();
@@ -413,8 +414,13 @@
             return this._computedViewMatrix;
         }
 
+        public setForcedProjectionMatrix(array: number[]): void {
+            this._doNotComputeProjectionMatrix = true;
+            BABYLON.Matrix.FromArrayToRef(array, 0, this._projectionMatrix);
+        };
+        
         public getProjectionMatrix(force?: boolean): Matrix {
-            if (!force && this._isSynchronizedProjectionMatrix()) {
+            if ((!force && this._isSynchronizedProjectionMatrix()) || this._doNotComputeProjectionMatrix) {
                 return this._projectionMatrix;
             }