ソースを参照

Fixed glTF loader when no shaders defined (now loads the geometries)

Julien Moreau-Mathis 9 年 前
コミット
b6e2d497b3
1 ファイル変更9 行追加1 行削除
  1. 9 1
      loaders/glTF/babylon.glTFFileLoader.ts

+ 9 - 1
loaders/glTF/babylon.glTFFileLoader.ts

@@ -1418,7 +1418,7 @@
         return (_: Effect) => {
             prepareShaderMaterialUniforms(gltfRuntime, shaderMaterial, technique, material, unTreatedUniforms);
 
-            shaderMaterial.onBind = (mat: Material, mesh: Mesh) => {
+            shaderMaterial.onBind = (mesh: Mesh) => {
                 onBindShaderMaterial(mesh, gltfRuntime, unTreatedUniforms, shaderMaterial, technique, material);
             };
         };
@@ -1630,7 +1630,11 @@
     */
     var load = (gltfRuntime: IGLTFRuntime) => {
         // Begin with shaders
+        var atLeastOneShader = false;
+
         for (var sha in gltfRuntime.shaders) {
+            atLeastOneShader = true;
+
             var shader: IGLTFShader = gltfRuntime.shaders[sha];
             
             if (shader) {
@@ -1646,6 +1650,10 @@
                 Tools.Error("No shader file named " + shader.uri);
             }
         }
+
+        if (!atLeastOneShader) {
+            loadBuffers(gltfRuntime);
+        }
     };
 
     /**