瀏覽代碼

Added shadowGenerator.forceCompilation

David Catuhe 8 年之前
父節點
當前提交
1a1d905677
共有 22 個文件被更改,包括 9900 次插入9780 次删除
  1. 4205 4199
      dist/preview release/babylon.d.ts
  2. 34 34
      dist/preview release/babylon.js
  3. 30 0
      dist/preview release/babylon.max.js
  4. 4205 4199
      dist/preview release/babylon.module.d.ts
  5. 35 35
      dist/preview release/babylon.worker.js
  6. 509 503
      dist/preview release/customConfigurations/minimalGLTFViewer/babylon.d.ts
  7. 29 29
      dist/preview release/customConfigurations/minimalGLTFViewer/babylon.js
  8. 30 0
      dist/preview release/customConfigurations/minimalGLTFViewer/babylon.max.js
  9. 509 503
      dist/preview release/customConfigurations/minimalGLTFViewer/babylon.module.d.ts
  10. 1 1
      dist/preview release/gui/babylon.gui.min.js
  11. 263 263
      dist/preview release/inspector/babylon.inspector.bundle.js
  12. 3 3
      dist/preview release/inspector/babylon.inspector.min.js
  13. 2 2
      dist/preview release/loaders/babylon.glTF1FileLoader.min.js
  14. 1 1
      dist/preview release/loaders/babylon.glTF2FileLoader.min.js
  15. 2 2
      dist/preview release/loaders/babylon.glTFFileLoader.min.js
  16. 1 1
      dist/preview release/loaders/babylon.objFileLoader.min.js
  17. 1 1
      dist/preview release/materialsLibrary/babylon.customMaterial.min.js
  18. 1 1
      dist/preview release/materialsLibrary/babylon.waterMaterial.min.js
  19. 1 1
      dist/preview release/postProcessesLibrary/babylon.asciiArtPostProcess.min.js
  20. 1 1
      dist/preview release/postProcessesLibrary/babylon.digitalRainPostProcess.min.js
  21. 34 0
      src/Lights/Shadows/babylon.shadowGenerator.ts
  22. 3 1
      src/Materials/babylon.material.ts

文件差異過大導致無法顯示
+ 4205 - 4199
dist/preview release/babylon.d.ts


文件差異過大導致無法顯示
+ 34 - 34
dist/preview release/babylon.js


+ 30 - 0
dist/preview release/babylon.max.js

@@ -46476,6 +46476,36 @@ var BABYLON;
             }
         };
         /**
+         * Force shader compilation including textures ready check
+         */
+        ShadowGenerator.prototype.forceCompilation = function (onCompiled, options) {
+            var _this = this;
+            var scene = this._scene;
+            var engine = scene.getEngine();
+            var subMeshes = new Array();
+            var currentIndex = 0;
+            for (var _i = 0, _a = this.getShadowMap().renderList; _i < _a.length; _i++) {
+                var mesh = _a[_i];
+                subMeshes.push.apply(subMeshes, mesh.subMeshes);
+            }
+            var checkReady = function () {
+                var subMesh = subMeshes[currentIndex];
+                if (_this.isReady(subMesh, options ? options.useInstances : false)) {
+                    currentIndex++;
+                    if (currentIndex >= subMeshes.length) {
+                        if (onCompiled) {
+                            onCompiled(_this);
+                        }
+                        return;
+                    }
+                }
+                setTimeout(checkReady, 16);
+            };
+            if (subMeshes.length > 0) {
+                checkReady();
+            }
+        };
+        /**
          * Boolean : true when the ShadowGenerator is finally computed.
          */
         ShadowGenerator.prototype.isReady = function (subMesh, useInstances) {

文件差異過大導致無法顯示
+ 4205 - 4199
dist/preview release/babylon.module.d.ts


文件差異過大導致無法顯示
+ 35 - 35
dist/preview release/babylon.worker.js


文件差異過大導致無法顯示
+ 509 - 503
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.d.ts


文件差異過大導致無法顯示
+ 29 - 29
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.js


+ 30 - 0
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.max.js

@@ -34911,6 +34911,36 @@ var BABYLON;
             }
         };
         /**
+         * Force shader compilation including textures ready check
+         */
+        ShadowGenerator.prototype.forceCompilation = function (onCompiled, options) {
+            var _this = this;
+            var scene = this._scene;
+            var engine = scene.getEngine();
+            var subMeshes = new Array();
+            var currentIndex = 0;
+            for (var _i = 0, _a = this.getShadowMap().renderList; _i < _a.length; _i++) {
+                var mesh = _a[_i];
+                subMeshes.push.apply(subMeshes, mesh.subMeshes);
+            }
+            var checkReady = function () {
+                var subMesh = subMeshes[currentIndex];
+                if (_this.isReady(subMesh, options ? options.useInstances : false)) {
+                    currentIndex++;
+                    if (currentIndex >= subMeshes.length) {
+                        if (onCompiled) {
+                            onCompiled(_this);
+                        }
+                        return;
+                    }
+                }
+                setTimeout(checkReady, 16);
+            };
+            if (subMeshes.length > 0) {
+                checkReady();
+            }
+        };
+        /**
          * Boolean : true when the ShadowGenerator is finally computed.
          */
         ShadowGenerator.prototype.isReady = function (subMesh, useInstances) {

文件差異過大導致無法顯示
+ 509 - 503
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.module.d.ts


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/gui/babylon.gui.min.js


文件差異過大導致無法顯示
+ 263 - 263
dist/preview release/inspector/babylon.inspector.bundle.js


文件差異過大導致無法顯示
+ 3 - 3
dist/preview release/inspector/babylon.inspector.min.js


文件差異過大導致無法顯示
+ 2 - 2
dist/preview release/loaders/babylon.glTF1FileLoader.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/loaders/babylon.glTF2FileLoader.min.js


文件差異過大導致無法顯示
+ 2 - 2
dist/preview release/loaders/babylon.glTFFileLoader.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/loaders/babylon.objFileLoader.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.customMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.waterMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/postProcessesLibrary/babylon.asciiArtPostProcess.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/postProcessesLibrary/babylon.digitalRainPostProcess.min.js


+ 34 - 0
src/Lights/Shadows/babylon.shadowGenerator.ts

@@ -510,6 +510,40 @@
         }
 
         /**
+         * Force shader compilation including textures ready check
+         */
+        public forceCompilation(onCompiled: (generator: ShadowGenerator) => void, options?: { useInstances: boolean }): void {
+            var scene = this._scene;
+            var engine = scene.getEngine();
+            var subMeshes = new Array<SubMesh>();
+            var currentIndex = 0;
+
+
+            for(var mesh of this.getShadowMap().renderList) {
+                subMeshes.push(...mesh.subMeshes);
+            }
+
+            var checkReady = () => {
+                let subMesh = subMeshes[currentIndex];
+
+                if (this.isReady(subMesh, options ? options.useInstances : false)) {
+                    currentIndex++;
+                    if (currentIndex >= subMeshes.length) {
+                        if (onCompiled) {
+                            onCompiled(this);
+                        }
+                        return;
+                    }
+                }
+                setTimeout(checkReady, 16);
+            };
+
+            if (subMeshes.length > 0) {
+                checkReady();            
+            }
+        }
+
+        /**
          * Boolean : true when the ShadowGenerator is finally computed.  
          */
         public isReady(subMesh: SubMesh, useInstances: boolean): boolean {

+ 3 - 1
src/Materials/babylon.material.ts

@@ -516,7 +516,9 @@
             return result;
         }
 
-        // Force shader compilation including textures ready check
+        /**
+         * Force shader compilation including textures ready check
+         */
         public forceCompilation(mesh: AbstractMesh, onCompiled: (material: Material) => void, options?: { alphaTest: boolean, clipPlane: boolean }): void {
             var subMesh = new BaseSubMesh();
             var scene = this.getScene();