Browse Source

GLTF1 Loader

sebastien 6 years ago
parent
commit
5fccc4d1ae
34 changed files with 13569 additions and 13519 deletions
  1. 3110 3110
      Playground/babylon.d.txt
  2. 6 8
      Tools/Gulp/config.json
  3. 12 5
      Tools/Gulp/helpers/gulp-processTypescriptDeclaration.js
  4. 3120 3120
      dist/preview release/babylon.d.ts
  5. 1324 1322
      dist/preview release/loaders/babylon.glTF1FileLoader.js
  6. 1 1
      dist/preview release/loaders/babylon.glTF1FileLoader.js.map
  7. 1324 1322
      dist/preview release/loaders/babylon.glTF1FileLoader.min.js
  8. 1 1
      dist/preview release/loaders/babylon.glTF1FileLoader.min.js.map
  9. 3 2
      dist/preview release/loaders/babylon.glTF2FileLoader.js
  10. 1 1
      dist/preview release/loaders/babylon.glTF2FileLoader.js.map
  11. 3 2
      dist/preview release/loaders/babylon.glTF2FileLoader.min.js
  12. 1 1
      dist/preview release/loaders/babylon.glTF2FileLoader.min.js.map
  13. 1325 1323
      dist/preview release/loaders/babylon.glTFFileLoader.js
  14. 1 1
      dist/preview release/loaders/babylon.glTFFileLoader.js.map
  15. 1325 1323
      dist/preview release/loaders/babylon.glTFFileLoader.min.js
  16. 1 1
      dist/preview release/loaders/babylon.glTFFileLoader.min.js.map
  17. 8 8
      dist/preview release/loaders/babylonjs.loaders.d.ts
  18. 1931 1916
      dist/preview release/loaders/babylonjs.loaders.js
  19. 1 1
      dist/preview release/loaders/babylonjs.loaders.js.map
  20. 1 1
      dist/preview release/loaders/babylonjs.loaders.min.js
  21. 1 1
      dist/preview release/loaders/babylonjs.loaders.min.js.map
  22. 12 12
      dist/preview release/loaders/babylonjs.loaders.module.d.ts
  23. 12 12
      dist/preview release/viewer/babylon.viewer.js
  24. 1 1
      dist/preview release/viewer/babylon.viewer.max.js
  25. 3 1
      loaders/legacy/legacy-glTF1FileLoader.ts
  26. 2 1
      loaders/legacy/legacy-glTF2FileLoader.ts
  27. 4 2
      loaders/legacy/legacy-glTFFileLoader.ts
  28. 4 4
      loaders/src/glTF/1.0/glTFLoaderV1.ts
  29. 2 2
      loaders/src/glTF/1.0/glTFBinaryExtension.ts
  30. 3 3
      loaders/src/glTF/1.0/glTFLoaderExtension.ts
  31. 2 2
      loaders/src/glTF/1.0/glTFMaterialsCommonExtension.ts
  32. 1 1
      loaders/src/glTF/1.0/index.ts
  33. 2 2
      loaders/src/glTF/glTFFileLoader.ts
  34. 21 6
      loaders/src/legacy.ts

File diff suppressed because it is too large
+ 3110 - 3110
Playground/babylon.d.txt


+ 6 - 8
Tools/Gulp/config.json

@@ -1781,11 +1781,15 @@
                 "filename": "babylonjs.loaders.module.d.ts",
                 "packageName": "babylonjs-loaders",
                 "moduleName": "BABYLON",
+                "moduleSpecifics": [
+                    {
+                        "path": "babylonjs-loaders/src/glTF/1.0",
+                        "namespace": "BABYLON.GLTF1"
+                    }
+                ],
                 "importsToRemove": [],
                 "classMap": {
                     "babylonjs": "BABYLON",
-                    "babylonjs-loaders": "BABYLON",
-                    "babylonjs-serializers": "BABYLON",
                     "babylonjs-gltf2interface": "BABYLON.GLTF2"
                 }
             }
@@ -1855,12 +1859,6 @@
                 "filename": "babylon.gui.module.d.ts",
                 "packageName": "babylonjs-gui",
                 "moduleName": "BABYLON.GUI",
-                "moduleSpecifics": [
-                    {
-                        "path": "babylonjs-loaders/glTF/2.0/Extensions",
-                        "namespace": "BABYLON.GLTF2.Loader.Extensions"
-                    }
-                ],
                 "importsToRemove": [],
                 "classMap": {
                     "babylonjs": "BABYLON",

+ 12 - 5
Tools/Gulp/helpers/gulp-processTypescriptDeclaration.js

@@ -4,13 +4,14 @@ var fs = require("fs");
 var processData = function(data, options) {
     var str = "" + data;
 
-    // Start process
+    // Start process by extracting all lines.
     let lines = str.split('\n');
     var firstIndex = lines.findIndex((line => { return line.indexOf(`'${options.packageName}/'`) !== -1 }));
     var lastIndex = lines.findIndex(((line, idx) => { return line.trim() === '}' && idx > firstIndex }));
     lines.splice(firstIndex, lastIndex - firstIndex + 1);
 
     // Let's go line by line and check if we have special folder replacements
+    // Replaces declare module 'babylonjs'; by declare module BABYLON for instance
     for (var index = 0; index < lines.length; index++) {
         var namespace = options.moduleName;
         var regex = /declare module '(.*)' {/g;
@@ -34,12 +35,16 @@ var processData = function(data, options) {
         lines[index] = lines[index].replace(regex, `declare module ${namespace} {`);
     }
 
+    // Recreate the file.
     str = lines.join('\n');
 
+    // Let s clean up all the import * from BABYLON or the package itself as we know it is part of
+    // the same namespace... Should be
     str = str.replace("import * as BABYLON from 'babylonjs';", "");
     let regexp = new RegExp(`import {(.*)} from ['"]${options.packageName}(.*)['"];`, 'g');
     str = str.replace(regexp, '');
 
+    // Let s clean other chosen imports from the mix.
     if (options.importsToRemove) {
         while (options.importsToRemove.length) {
             let remove = options.importsToRemove.pop();
@@ -47,7 +52,8 @@ var processData = function(data, options) {
         }
     }
 
-    // Find all used BABYLON and BABYLON-Loaders classes:
+    // Find all other imported classes (Part of BABYLON or Loaders for instance)
+    // and suffix them by the namespace.
     if ((options.classMap)) {
         Object.keys(options.classMap).forEach(package => {
             var babylonRegex = new RegExp(`import {(.*)} from ['"](${package})['"];`, "g");
@@ -70,14 +76,15 @@ var processData = function(data, options) {
         })
     }
 
+    // Clean up export.
     str = str.replace(/export {(.*)};/g, '');
-
+    // Clean up left import.
     str = str.replace(/import (.*);/g, "");
 
+    // Rearrange the d.ts.
     str = str.split("\n").filter(line => line.trim()).filter(line => line.indexOf("export * from") === -1).join("\n");
 
     // Remove empty module declaration
-
     var cleanEmptyNamespace = function(str, moduleName) {
         let emptyDeclareRegexp = new RegExp("declare module " + moduleName + " {\n}\n", "g");
         str = str.replace(emptyDeclareRegexp, "");
@@ -86,9 +93,9 @@ var processData = function(data, options) {
 
         return str;
     }
-
     str = cleanEmptyNamespace(str, options.moduleName);
 
+    // Remove empty module declaration of specific modules
     if (options.moduleSpecifics) {
         options.moduleSpecifics.forEach(function(specific) {
             str = cleanEmptyNamespace(str, specific.namespace);

File diff suppressed because it is too large
+ 3120 - 3120
dist/preview release/babylon.d.ts


File diff suppressed because it is too large
+ 1324 - 1322
dist/preview release/loaders/babylon.glTF1FileLoader.js


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.glTF1FileLoader.js.map


File diff suppressed because it is too large
+ 1324 - 1322
dist/preview release/loaders/babylon.glTF1FileLoader.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.glTF1FileLoader.min.js.map


+ 3 - 2
dist/preview release/loaders/babylon.glTF2FileLoader.js

@@ -148,11 +148,12 @@ var LoadersV2 = __webpack_require__(/*! ../src/glTF/2.0 */ "./src/glTF/2.0/index
  */
 var globalObject = (typeof global !== 'undefined') ? global : ((typeof window !== 'undefined') ? window : undefined);
 if (typeof globalObject !== "undefined") {
+    globalObject.BABYLON = globalObject.BABYLON || {};
     for (var key in FileLoader) {
         globalObject.BABYLON[key] = FileLoader[key];
     }
     for (var key in LoadersV2) {
-        globalObject.BABYLON[key] = FileLoader[key];
+        globalObject.BABYLON[key] = LoadersV2[key];
     }
 }
 __export(__webpack_require__(/*! ../src/glTF/glTFFileLoader */ "./src/glTF/glTFFileLoader.ts"));
@@ -3713,7 +3714,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
         }
         var createLoaders = {
-            1: GLTFFileLoader._CreateGLTFLoaderV1,
+            1: GLTFFileLoader._CreateGLTF1Loader,
             2: GLTFFileLoader._CreateGLTFLoaderV2
         };
         var createLoader = createLoaders[version.major];

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.glTF2FileLoader.js.map


+ 3 - 2
dist/preview release/loaders/babylon.glTF2FileLoader.min.js

@@ -148,11 +148,12 @@ var LoadersV2 = __webpack_require__(/*! ../src/glTF/2.0 */ "./src/glTF/2.0/index
  */
 var globalObject = (typeof global !== 'undefined') ? global : ((typeof window !== 'undefined') ? window : undefined);
 if (typeof globalObject !== "undefined") {
+    globalObject.BABYLON = globalObject.BABYLON || {};
     for (var key in FileLoader) {
         globalObject.BABYLON[key] = FileLoader[key];
     }
     for (var key in LoadersV2) {
-        globalObject.BABYLON[key] = FileLoader[key];
+        globalObject.BABYLON[key] = LoadersV2[key];
     }
 }
 __export(__webpack_require__(/*! ../src/glTF/glTFFileLoader */ "./src/glTF/glTFFileLoader.ts"));
@@ -3713,7 +3714,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
         }
         var createLoaders = {
-            1: GLTFFileLoader._CreateGLTFLoaderV1,
+            1: GLTFFileLoader._CreateGLTF1Loader,
             2: GLTFFileLoader._CreateGLTFLoaderV2
         };
         var createLoader = createLoaders[version.major];

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.glTF2FileLoader.min.js.map


File diff suppressed because it is too large
+ 1325 - 1323
dist/preview release/loaders/babylon.glTFFileLoader.js


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.glTFFileLoader.js.map


File diff suppressed because it is too large
+ 1325 - 1323
dist/preview release/loaders/babylon.glTFFileLoader.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.glTFFileLoader.min.js.map


+ 8 - 8
dist/preview release/loaders/babylonjs.loaders.d.ts

@@ -92,7 +92,7 @@ declare module BABYLON {
         */
     export class GLTFFileLoader implements BABYLON.IDisposable, BABYLON.ISceneLoaderPluginAsync, BABYLON.ISceneLoaderPluginFactory {
             /** @hidden */
-            static _CreateGLTFLoaderV1: (parent: GLTFFileLoader) => IGLTFLoader;
+            static _CreateGLTF1Loader: (parent: GLTFFileLoader) => IGLTFLoader;
             /** @hidden */
             static _CreateGLTFLoaderV2: (parent: GLTFFileLoader) => IGLTFLoader;
             /**
@@ -484,7 +484,7 @@ declare module BABYLON {
             loadAssetContainer(scene: BABYLON.Scene, data: string, rootUrl: string, onError?: (message: string, exception?: any) => void): BABYLON.AssetContainer;
     }
 }
-declare module BABYLON {
+declare module BABYLON.GLTF1 {
     /** @hidden */
     export class GLTFBinaryExtension extends GLTFLoaderExtension {
         constructor();
@@ -494,7 +494,7 @@ declare module BABYLON {
         loadShaderStringAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (shaderString: string) => void, onError: (message: string) => void): boolean;
     }
 }
-declare module BABYLON {
+declare module BABYLON.GLTF1 {
     /**
      * Implementation of the base glTF spec
      * @hidden
@@ -511,7 +511,7 @@ declare module BABYLON {
      * glTF V1 Loader
      * @hidden
      */
-    export class GLTFLoaderV1 implements IGLTFLoader {
+    export class GLTF1Loader implements IGLTFLoader {
         static Extensions: {
             [name: string]: GLTFLoaderExtension;
         };
@@ -544,7 +544,7 @@ declare module BABYLON {
         loadAsync(scene: BABYLON.Scene, data: IGLTFLoaderData, rootUrl: string, onProgress?: (event: BABYLON.SceneLoaderProgressEvent) => void): Promise<void>;
     }
 }
-declare module BABYLON {
+declare module BABYLON.GLTF1 {
     /** @hidden */
     export abstract class GLTFLoaderExtension {
             constructor(name: string);
@@ -592,7 +592,7 @@ declare module BABYLON {
             static LoadMaterialAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (material: BABYLON.Material) => void, onError: (message: string) => void): void;
     }
 }
-declare module BABYLON {
+declare module BABYLON.GLTF1 {
     /**
      * Enums
      * @hidden
@@ -998,7 +998,7 @@ declare module BABYLON {
         id: string;
     }
 }
-declare module BABYLON {
+declare module BABYLON.GLTF1 {
     /**
      * Utils functions for GLTF
      * @hidden
@@ -1056,7 +1056,7 @@ declare module BABYLON {
             static GetDefaultMaterial(scene: BABYLON.Scene): BABYLON.ShaderMaterial;
     }
 }
-declare module BABYLON {
+declare module BABYLON.GLTF1 {
     /** @hidden */
     export class GLTFMaterialsCommonExtension extends GLTFLoaderExtension {
         constructor();

File diff suppressed because it is too large
+ 1931 - 1916
dist/preview release/loaders/babylonjs.loaders.js


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylonjs.loaders.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylonjs.loaders.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylonjs.loaders.min.js.map


+ 12 - 12
dist/preview release/loaders/babylonjs.loaders.module.d.ts

@@ -115,7 +115,7 @@ declare module 'babylonjs-loaders/src/glTF/glTFFileLoader' {
         */
     export class GLTFFileLoader implements IDisposable, ISceneLoaderPluginAsync, ISceneLoaderPluginFactory {
             /** @hidden */
-            static _CreateGLTFLoaderV1: (parent: GLTFFileLoader) => IGLTFLoader;
+            static _CreateGLTF1Loader: (parent: GLTFFileLoader) => IGLTFLoader;
             /** @hidden */
             static _CreateGLTFLoaderV2: (parent: GLTFFileLoader) => IGLTFLoader;
             /**
@@ -347,7 +347,7 @@ declare module 'babylonjs-loaders/src/glTF/glTFFileLoader' {
 
 declare module 'babylonjs-loaders/src/glTF/1.0' {
     export * from "babylonjs-loaders/src/glTF/1.0/glTFBinaryExtension";
-    export * from "babylonjs-loaders/src/glTF/1.0/glTFLoaderV1";
+    export * from "babylonjs-loaders/src/glTF/1.0/GLTF1Loader";
     export * from "babylonjs-loaders/src/glTF/1.0/glTFLoaderExtension";
     export * from "babylonjs-loaders/src/glTF/1.0/glTFLoaderInterfaces";
     export * from "babylonjs-loaders/src/glTF/1.0/glTFLoaderUtils";
@@ -543,7 +543,7 @@ declare module 'babylonjs-loaders/src/glTF/1.0/glTFBinaryExtension' {
     }
 }
 
-declare module 'babylonjs-loaders/src/glTF/1.0/glTFLoaderV1' {
+declare module 'babylonjs-loaders/src/glTF/1.0/GLTF1Loader' {
     import { IGLTFRuntime } from "babylonjs-loaders/src/glTF/1.0/glTFLoaderInterfaces";
     import { Nullable, Skeleton, Material, AbstractMesh, Texture, Scene, SceneLoaderProgressEvent, IParticleSystem, AnimationGroup } from "babylonjs";
     import { IGLTFLoader, GLTFLoaderState, IGLTFLoaderData } from "babylonjs-loaders/src/glTF/glTFFileLoader";
@@ -564,7 +564,7 @@ declare module 'babylonjs-loaders/src/glTF/1.0/glTFLoaderV1' {
      * glTF V1 Loader
      * @hidden
      */
-    export class GLTFLoaderV1 implements IGLTFLoader {
+    export class GLTF1Loader implements IGLTFLoader {
         static Extensions: {
             [name: string]: GLTFLoaderExtension;
         };
@@ -1973,7 +1973,7 @@ declare module BABYLON {
         */
     export class GLTFFileLoader implements BABYLON.IDisposable, BABYLON.ISceneLoaderPluginAsync, BABYLON.ISceneLoaderPluginFactory {
             /** @hidden */
-            static _CreateGLTFLoaderV1: (parent: GLTFFileLoader) => IGLTFLoader;
+            static _CreateGLTF1Loader: (parent: GLTFFileLoader) => IGLTFLoader;
             /** @hidden */
             static _CreateGLTFLoaderV2: (parent: GLTFFileLoader) => IGLTFLoader;
             /**
@@ -2365,7 +2365,7 @@ declare module BABYLON {
             loadAssetContainer(scene: BABYLON.Scene, data: string, rootUrl: string, onError?: (message: string, exception?: any) => void): BABYLON.AssetContainer;
     }
 }
-declare module BABYLON {
+declare module BABYLON.GLTF1 {
     /** @hidden */
     export class GLTFBinaryExtension extends GLTFLoaderExtension {
         constructor();
@@ -2375,7 +2375,7 @@ declare module BABYLON {
         loadShaderStringAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (shaderString: string) => void, onError: (message: string) => void): boolean;
     }
 }
-declare module BABYLON {
+declare module BABYLON.GLTF1 {
     /**
      * Implementation of the base glTF spec
      * @hidden
@@ -2392,7 +2392,7 @@ declare module BABYLON {
      * glTF V1 Loader
      * @hidden
      */
-    export class GLTFLoaderV1 implements IGLTFLoader {
+    export class GLTF1Loader implements IGLTFLoader {
         static Extensions: {
             [name: string]: GLTFLoaderExtension;
         };
@@ -2425,7 +2425,7 @@ declare module BABYLON {
         loadAsync(scene: BABYLON.Scene, data: IGLTFLoaderData, rootUrl: string, onProgress?: (event: BABYLON.SceneLoaderProgressEvent) => void): Promise<void>;
     }
 }
-declare module BABYLON {
+declare module BABYLON.GLTF1 {
     /** @hidden */
     export abstract class GLTFLoaderExtension {
             constructor(name: string);
@@ -2473,7 +2473,7 @@ declare module BABYLON {
             static LoadMaterialAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (material: BABYLON.Material) => void, onError: (message: string) => void): void;
     }
 }
-declare module BABYLON {
+declare module BABYLON.GLTF1 {
     /**
      * Enums
      * @hidden
@@ -2879,7 +2879,7 @@ declare module BABYLON {
         id: string;
     }
 }
-declare module BABYLON {
+declare module BABYLON.GLTF1 {
     /**
      * Utils functions for GLTF
      * @hidden
@@ -2937,7 +2937,7 @@ declare module BABYLON {
             static GetDefaultMaterial(scene: BABYLON.Scene): BABYLON.ShaderMaterial;
     }
 }
-declare module BABYLON {
+declare module BABYLON.GLTF1 {
     /** @hidden */
     export class GLTFMaterialsCommonExtension extends GLTFLoaderExtension {
         constructor();

File diff suppressed because it is too large
+ 12 - 12
dist/preview release/viewer/babylon.viewer.js


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/viewer/babylon.viewer.max.js


+ 3 - 1
loaders/legacy/legacy-glTF1FileLoader.ts

@@ -7,11 +7,13 @@ import * as LoadersV1 from "../src/glTF/1.0";
  */
 var globalObject = (typeof global !== 'undefined') ? global : ((typeof window !== 'undefined') ? window : undefined);
 if (typeof globalObject !== "undefined") {
+    (<any>globalObject).BABYLON = (<any>globalObject).BABYLON || { };
     for (var key in FileLoader) {
         (<any>globalObject).BABYLON[key] = (<any>FileLoader)[key];
     }
+    (<any>globalObject).BABYLON.GLTF1 = (<any>globalObject).BABYLON.GLTF1 || { };
     for (var key in LoadersV1) {
-        (<any>globalObject).BABYLON[key] = (<any>FileLoader)[key];
+        (<any>globalObject).BABYLON.GLTF1[key] = (<any>LoadersV1)[key];
     }
 }
 

+ 2 - 1
loaders/legacy/legacy-glTF2FileLoader.ts

@@ -7,11 +7,12 @@ import * as LoadersV2 from "../src/glTF/2.0";
  */
 var globalObject = (typeof global !== 'undefined') ? global : ((typeof window !== 'undefined') ? window : undefined);
 if (typeof globalObject !== "undefined") {
+    (<any>globalObject).BABYLON = (<any>globalObject).BABYLON || { };
     for (var key in FileLoader) {
         (<any>globalObject).BABYLON[key] = (<any>FileLoader)[key];
     }
     for (var key in LoadersV2) {
-        (<any>globalObject).BABYLON[key] = (<any>FileLoader)[key];
+        (<any>globalObject).BABYLON[key] = (<any>LoadersV2)[key];
     }
 }
 

+ 4 - 2
loaders/legacy/legacy-glTFFileLoader.ts

@@ -8,14 +8,16 @@ import * as LoadersV2 from "../src/glTF/2.0";
  */
 var globalObject = (typeof global !== 'undefined') ? global : ((typeof window !== 'undefined') ? window : undefined);
 if (typeof globalObject !== "undefined") {
+    (<any>globalObject).BABYLON = (<any>globalObject).BABYLON || { };
     for (var key in FileLoader) {
         (<any>globalObject).BABYLON[key] = (<any>FileLoader)[key];
     }
+    (<any>globalObject).BABYLON.GLTF1 = (<any>globalObject).BABYLON.GLTF1 || { };
     for (var key in LoadersV1) {
-        (<any>globalObject).BABYLON[key] = (<any>FileLoader)[key];
+        (<any>globalObject).BABYLON.GLTF1[key] = (<any>LoadersV1)[key];
     }
     for (var key in LoadersV2) {
-        (<any>globalObject).BABYLON[key] = (<any>FileLoader)[key];
+        (<any>globalObject).BABYLON[key] = (<any>LoadersV2)[key];
     }
 }
 

+ 4 - 4
loaders/src/glTF/1.0/glTFLoaderV1.ts

@@ -1557,16 +1557,16 @@ export class GLTFLoaderBase {
 * glTF V1 Loader
 * @hidden
 */
-export class GLTFLoaderV1 implements IGLTFLoader {
+export class GLTF1Loader implements IGLTFLoader {
     public static Extensions: { [name: string]: GLTFLoaderExtension } = {};
 
     public static RegisterExtension(extension: GLTFLoaderExtension): void {
-        if (GLTFLoaderV1.Extensions[extension.name]) {
+        if (GLTF1Loader.Extensions[extension.name]) {
             Tools.Error("Tool with the same name \"" + extension.name + "\" already exists");
             return;
         }
 
-        GLTFLoaderV1.Extensions[extension.name] = extension;
+        GLTF1Loader.Extensions[extension.name] = extension;
     }
 
     public state: Nullable<GLTFLoaderState> = null;
@@ -1810,4 +1810,4 @@ export class GLTFLoaderV1 implements IGLTFLoader {
     }
 }
 
-GLTFFileLoader._CreateGLTFLoaderV1 = () => new GLTFLoaderV1();
+GLTFFileLoader._CreateGLTF1Loader = () => new GLTF1Loader();

+ 2 - 2
loaders/src/glTF/1.0/glTFBinaryExtension.ts

@@ -3,7 +3,7 @@ import { GLTFUtils } from "./glTFLoaderUtils";
 import { Scene } from "babylonjs";
 import { IGLTFLoaderData } from "../glTFFileLoader";
 import { IGLTFRuntime, IGLTFTexture, IGLTFImage, IGLTFBufferView, EComponentType, IGLTFShader } from "./glTFLoaderInterfaces";
-import { GLTFLoaderV1, GLTFLoaderBase } from "./glTFLoaderV1";
+import { GLTF1Loader, GLTFLoaderBase } from "./GLTF1Loader";
 
 const BinaryExtensionBufferName = "binary_glTF";
 
@@ -83,4 +83,4 @@ export class GLTFBinaryExtension extends GLTFLoaderExtension {
     }
 }
 
-GLTFLoaderV1.RegisterExtension(new GLTFBinaryExtension());
+GLTF1Loader.RegisterExtension(new GLTFBinaryExtension());

+ 3 - 3
loaders/src/glTF/1.0/glTFLoaderExtension.ts

@@ -1,7 +1,7 @@
 import { Scene, Texture, Material, Nullable } from "babylonjs";
 import { IGLTFLoaderData } from "../glTFFileLoader";
 import { IGLTFRuntime } from "./glTFLoaderInterfaces";
-import { GLTFLoaderV1, GLTFLoaderBase } from "./glTFLoaderV1";
+import { GLTF1Loader, GLTFLoaderBase } from "./GLTF1Loader";
 
 /** @hidden */
 export abstract class GLTFLoaderExtension {
@@ -148,8 +148,8 @@ export abstract class GLTFLoaderExtension {
     }
 
     private static ApplyExtensions(func: (loaderExtension: GLTFLoaderExtension) => boolean, defaultFunc: () => void): void {
-        for (var extensionName in GLTFLoaderV1.Extensions) {
-            var loaderExtension = GLTFLoaderV1.Extensions[extensionName];
+        for (var extensionName in GLTF1Loader.Extensions) {
+            var loaderExtension = GLTF1Loader.Extensions[extensionName];
             if (func(loaderExtension)) {
                 return;
             }

+ 2 - 2
loaders/src/glTF/1.0/glTFMaterialsCommonExtension.ts

@@ -4,7 +4,7 @@ import { IGLTFRuntime, IGLTFMaterial } from "./glTFLoaderInterfaces";
 
 import { HemisphericLight, Vector3, Color3, PointLight, DirectionalLight, SpotLight, Tools, Material, StandardMaterial } from "babylonjs";
 
-import { GLTFLoaderV1 } from "./glTFLoaderV1";
+import { GLTF1Loader } from "./GLTF1Loader";
 
 interface IGLTFMaterialsCommonExtensionValues {
     ambient?: number[] | string;
@@ -181,4 +181,4 @@ export class GLTFMaterialsCommonExtension extends GLTFLoaderExtension {
     }
 }
 
-GLTFLoaderV1.RegisterExtension(new GLTFMaterialsCommonExtension());
+GLTF1Loader.RegisterExtension(new GLTFMaterialsCommonExtension());

+ 1 - 1
loaders/src/glTF/1.0/index.ts

@@ -1,5 +1,5 @@
 export * from "./glTFBinaryExtension";
-export * from "./glTFLoaderV1";
+export * from "./GLTF1Loader";
 export * from "./glTFLoaderExtension";
 export * from "./glTFLoaderInterfaces";
 export * from "./glTFLoaderUtils";

+ 2 - 2
loaders/src/glTF/glTFFileLoader.ts

@@ -105,7 +105,7 @@ export interface IGLTFLoader extends IDisposable {
  */
 export class GLTFFileLoader implements IDisposable, ISceneLoaderPluginAsync, ISceneLoaderPluginFactory {
     /** @hidden */
-    public static _CreateGLTFLoaderV1: (parent: GLTFFileLoader) => IGLTFLoader;
+    public static _CreateGLTF1Loader: (parent: GLTFFileLoader) => IGLTFLoader;
 
     /** @hidden */
     public static _CreateGLTFLoaderV2: (parent: GLTFFileLoader) => IGLTFLoader;
@@ -624,7 +624,7 @@ export class GLTFFileLoader implements IDisposable, ISceneLoaderPluginAsync, ISc
         }
 
         const createLoaders: { [key: number]: (parent: GLTFFileLoader) => IGLTFLoader } = {
-            1: GLTFFileLoader._CreateGLTFLoaderV1,
+            1: GLTFFileLoader._CreateGLTF1Loader,
             2: GLTFFileLoader._CreateGLTFLoaderV2
         };
 

+ 21 - 6
loaders/src/legacy.ts

@@ -1,4 +1,8 @@
-import * as Loaders from "./index";
+import * as FileLoader from "./glTF/glTFFileLoader";
+import * as LoadersV1 from "./glTF/1.0";
+import * as LoadersV2 from "./glTF/2.0";
+import * as LoadersOBJ from "./OBJ";
+import * as LoadersSTL from "./STL";
 
 /**
  * Legacy support, defining window.BABYLON.OBJLoader... (global variable).
@@ -8,11 +12,22 @@ import * as Loaders from "./index";
  */
 var globalObject = (typeof global !== 'undefined') ? global : ((typeof window !== 'undefined') ? window : undefined);
 if (typeof globalObject !== "undefined") {
-    (<any>globalObject).BABYLON = (<any>globalObject).BABYLON || {};
-    for (var loader in Loaders) {
-        if (Loaders.hasOwnProperty(loader)) {
-            (<any>globalObject).BABYLON[loader] = (<any>Loaders)[loader];
-        }
+    (<any>globalObject).BABYLON = (<any>globalObject).BABYLON || { };
+    for (var key in FileLoader) {
+        (<any>globalObject).BABYLON[key] = (<any>FileLoader)[key];
+    }
+    (<any>globalObject).BABYLON.GLTF1 = (<any>globalObject).BABYLON.GLTF1 || { };
+    for (var key in LoadersV1) {
+        (<any>globalObject).BABYLON.GLTF1[key] = (<any>LoadersV1)[key];
+    }
+    for (var key in LoadersV2) {
+        (<any>globalObject).BABYLON[key] = (<any>LoadersV2)[key];
+    }
+    for (var key in LoadersOBJ) {
+        (<any>globalObject).BABYLON[key] = (<any>LoadersOBJ)[key];
+    }
+    for (var key in LoadersSTL) {
+        (<any>globalObject).BABYLON[key] = (<any>LoadersSTL)[key];
     }
 }