浏览代码

Fix bug with multimaterials and PBR

David Catuhe 8 年之前
父节点
当前提交
2202157086

文件差异内容过多而无法显示
+ 952 - 952
dist/preview release/babylon.d.ts


文件差异内容过多而无法显示
+ 10 - 10
dist/preview release/babylon.js


+ 7 - 1
dist/preview release/babylon.max.js

@@ -48797,10 +48797,16 @@ var BABYLON;
         MultiMaterial.prototype.getClassName = function () {
             return "MultiMaterial";
         };
-        MultiMaterial.prototype.isReady = function (mesh) {
+        MultiMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) {
             for (var index = 0; index < this.subMaterials.length; index++) {
                 var subMaterial = this.subMaterials[index];
                 if (subMaterial) {
+                    if (this.subMaterials[index].isReadyForSubMesh) {
+                        if (!this.subMaterials[index].isReadyForSubMesh(mesh, subMesh, useInstances)) {
+                            return false;
+                        }
+                        continue;
+                    }
                     if (!this.subMaterials[index].isReady(mesh)) {
                         return false;
                     }

文件差异内容过多而无法显示
+ 952 - 952
dist/preview release/babylon.module.d.ts


文件差异内容过多而无法显示
+ 10 - 10
dist/preview release/babylon.worker.js


文件差异内容过多而无法显示
+ 554 - 554
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.d.ts


文件差异内容过多而无法显示
+ 8 - 8
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.js


+ 7 - 1
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.max.js

@@ -35825,10 +35825,16 @@ var BABYLON;
         MultiMaterial.prototype.getClassName = function () {
             return "MultiMaterial";
         };
-        MultiMaterial.prototype.isReady = function (mesh) {
+        MultiMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) {
             for (var index = 0; index < this.subMaterials.length; index++) {
                 var subMaterial = this.subMaterials[index];
                 if (subMaterial) {
+                    if (this.subMaterials[index].isReadyForSubMesh) {
+                        if (!this.subMaterials[index].isReadyForSubMesh(mesh, subMesh, useInstances)) {
+                            return false;
+                        }
+                        continue;
+                    }
                     if (!this.subMaterials[index].isReady(mesh)) {
                         return false;
                     }

文件差异内容过多而无法显示
+ 554 - 554
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.module.d.ts


+ 8 - 1
src/Materials/babylon.multiMaterial.ts

@@ -56,10 +56,17 @@
             return "MultiMaterial";
         }
 
-        public isReady(mesh?: AbstractMesh): boolean {
+        public isReadyForSubMesh(mesh: AbstractMesh, subMesh: BaseSubMesh, useInstances?: boolean): boolean {
             for (var index = 0; index < this.subMaterials.length; index++) {
                 var subMaterial = this.subMaterials[index];
                 if (subMaterial) {
+                    if (this.subMaterials[index].isReadyForSubMesh) {
+                        if (!this.subMaterials[index].isReadyForSubMesh(mesh, subMesh, useInstances)) {
+                            return false;
+                        }
+                        continue;
+                    }
+
                     if (!this.subMaterials[index].isReady(mesh)) {
                         return false;
                     }