Parcourir la source

Move gltfloaderV2 to Gltf2Loader

sebastien il y a 6 ans
Parent
commit
a2993a00ca

Fichier diff supprimé car celui-ci est trop grand
+ 7747 - 7560
Playground/babylon.d.txt


+ 3 - 3
inspector/src/tabs/GLTFTab.ts

@@ -1,5 +1,5 @@
 import { Mesh, Nullable, NullEngine, PBRMaterial, Scene, SceneLoader, StandardMaterial, Texture, TransformNode } from "babylonjs";
-import { GLTFLoaderV2, GLTFFileLoader } from "babylonjs-loaders";
+import { GLTF2Loader, GLTFFileLoader } from "babylonjs-loaders";
 import { GLTF2Export } from "babylonjs-serializers";
 import { DetailPanel } from "../details/DetailPanel";
 import { Property } from "../details/Property";
@@ -24,7 +24,7 @@ export class GLTFTab extends Tab {
     private _split: any;
 
     public static get IsSupported(): boolean {
-        return !!(SceneLoader && GLTFFileLoader && GLTFLoaderV2) || !!GLTF2Export;
+        return !!(SceneLoader && GLTFFileLoader && GLTF2Loader) || !!GLTF2Export;
     }
 
     /** @hidden */
@@ -55,7 +55,7 @@ export class GLTFTab extends Tab {
             this._closeDetailsPanel();
         });
 
-        if (SceneLoader && GLTFFileLoader && GLTFLoaderV2) {
+        if (SceneLoader && GLTFFileLoader && GLTF2Loader) {
             this._addImport();
         }
 

+ 5 - 5
loaders/src/glTF/2.0/Extensions/EXT_lights_image_based.ts

@@ -2,7 +2,7 @@ import { BaseTexture, Nullable, RawCubeTexture, Quaternion, Matrix, SphericalHar
 import { IChildRootProperty } from "babylonjs-gltf2interface";
 import { ISceneV2 } from "../glTFLoaderInterfaces";
 import { IGLTFLoaderExtensionV2 } from "../glTFLoaderExtension";
-import { GLTFLoaderV2, ArrayItem } from "../glTFLoader";
+import { GLTF2Loader, ArrayItem } from "../glTF2Loader";
 
 const NAME = "EXT_lights_image_based";
 
@@ -35,11 +35,11 @@ export class EXT_lights_image_based implements IGLTFLoaderExtensionV2 {
     /** Defines whether this extension is enabled. */
     public enabled = true;
 
-    private _loader: GLTFLoaderV2;
+    private _loader: GLTF2Loader;
     private _lights?: ILight[];
 
     /** @hidden */
-    constructor(loader: GLTFLoaderV2) {
+    constructor(loader: GLTF2Loader) {
         this._loader = loader;
     }
 
@@ -60,7 +60,7 @@ export class EXT_lights_image_based implements IGLTFLoaderExtensionV2 {
 
     /** @hidden */
     public loadSceneAsync(context: string, scene: ISceneV2): Nullable<Promise<void>> {
-        return GLTFLoaderV2.LoadExtensionAsync<ILightReference>(context, scene, this.name, (extensionContext, extension) => {
+        return GLTF2Loader.LoadExtensionAsync<ILightReference>(context, scene, this.name, (extensionContext, extension) => {
             const promises = new Array<Promise<any>>();
 
             promises.push(this._loader.loadSceneAsync(context, scene));
@@ -141,4 +141,4 @@ export class EXT_lights_image_based implements IGLTFLoaderExtensionV2 {
     }
 }
 
-GLTFLoaderV2.RegisterExtension(NAME, (loader) => new EXT_lights_image_based(loader));
+GLTF2Loader.RegisterExtension(NAME, (loader) => new EXT_lights_image_based(loader));

+ 5 - 5
loaders/src/glTF/2.0/Extensions/KHR_draco_mesh_compression.ts

@@ -2,7 +2,7 @@ import { Geometry, DracoCompression, Mesh, Nullable, VertexBuffer } from "babylo
 import { MeshPrimitiveMode } from "babylonjs-gltf2interface";
 import { IBufferViewV2, IMeshPrimitiveV2 } from "../glTFLoaderInterfaces";
 import { IGLTFLoaderExtensionV2 } from "../glTFLoaderExtension";
-import { GLTFLoaderV2, ArrayItem } from "../glTFLoader";
+import { GLTF2Loader, ArrayItem } from "../glTF2Loader";
 
 const NAME = "KHR_draco_mesh_compression";
 
@@ -25,11 +25,11 @@ export class KHR_draco_mesh_compression implements IGLTFLoaderExtensionV2 {
     /** Defines whether this extension is enabled. */
     public enabled = DracoCompression.DecoderAvailable;
 
-    private _loader: GLTFLoaderV2;
+    private _loader: GLTF2Loader;
     private _dracoCompression?: DracoCompression;
 
     /** @hidden */
-    constructor(loader: GLTFLoaderV2) {
+    constructor(loader: GLTF2Loader) {
         this._loader = loader;
     }
 
@@ -45,7 +45,7 @@ export class KHR_draco_mesh_compression implements IGLTFLoaderExtensionV2 {
 
     /** @hidden */
     public _loadVertexDataAsync(context: string, primitive: IMeshPrimitiveV2, babylonMesh: Mesh): Nullable<Promise<Geometry>> {
-        return GLTFLoaderV2.LoadExtensionAsync<IKHRDracoMeshCompression, Geometry>(context, primitive, this.name, (extensionContext, extension) => {
+        return GLTF2Loader.LoadExtensionAsync<IKHRDracoMeshCompression, Geometry>(context, primitive, this.name, (extensionContext, extension) => {
             if (primitive.mode != undefined) {
                 if (primitive.mode !== MeshPrimitiveMode.TRIANGLE_STRIP &&
                     primitive.mode !== MeshPrimitiveMode.TRIANGLES) {
@@ -104,4 +104,4 @@ export class KHR_draco_mesh_compression implements IGLTFLoaderExtensionV2 {
     }
 }
 
-GLTFLoaderV2.RegisterExtension(NAME, (loader) => new KHR_draco_mesh_compression(loader));
+GLTF2Loader.RegisterExtension(NAME, (loader) => new KHR_draco_mesh_compression(loader));

+ 5 - 5
loaders/src/glTF/2.0/Extensions/KHR_lights_punctual.ts

@@ -2,7 +2,7 @@ import { Mesh, Nullable, Light, DirectionalLight, Vector3, PointLight, SpotLight
 import { IChildRootProperty } from "babylonjs-gltf2interface";
 import { INodeV2 } from "../glTFLoaderInterfaces";
 import { IGLTFLoaderExtensionV2 } from "../glTFLoaderExtension";
-import { GLTFLoaderV2, ArrayItem } from "../glTFLoader";
+import { GLTF2Loader, ArrayItem } from "../glTF2Loader";
 
 const NAME = "KHR_lights_punctual";
 
@@ -41,11 +41,11 @@ export class KHR_lights implements IGLTFLoaderExtensionV2 {
     /** Defines whether this extension is enabled. */
     public enabled = true;
 
-    private _loader: GLTFLoaderV2;
+    private _loader: GLTF2Loader;
     private _lights?: ILight[];
 
     /** @hidden */
-    constructor(loader: GLTFLoaderV2) {
+    constructor(loader: GLTF2Loader) {
         this._loader = loader;
     }
 
@@ -66,7 +66,7 @@ export class KHR_lights implements IGLTFLoaderExtensionV2 {
 
     /** @hidden */
     public loadNodeAsync(context: string, node: INodeV2, assign: (babylonMesh: Mesh) => void): Nullable<Promise<Mesh>> {
-        return GLTFLoaderV2.LoadExtensionAsync<ILightReference, Mesh>(context, node, this.name, (extensionContext, extension) => {
+        return GLTF2Loader.LoadExtensionAsync<ILightReference, Mesh>(context, node, this.name, (extensionContext, extension) => {
             return this._loader.loadNodeAsync(context, node, (babylonMesh) => {
                 let babylonLight: Light;
 
@@ -106,4 +106,4 @@ export class KHR_lights implements IGLTFLoaderExtensionV2 {
     }
 }
 
-GLTFLoaderV2.RegisterExtension(NAME, (loader) => new KHR_lights(loader));
+GLTF2Loader.RegisterExtension(NAME, (loader) => new KHR_lights(loader));

+ 5 - 5
loaders/src/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.ts

@@ -1,7 +1,7 @@
 import { Material, Nullable, PBRMaterial, Color3 } from "babylonjs";
 import { ITextureInfoV2, IMaterialV2 } from "../glTFLoaderInterfaces";
 import { IGLTFLoaderExtensionV2 } from "../glTFLoaderExtension";
-import { GLTFLoaderV2 } from "../glTFLoader";
+import { GLTF2Loader } from "../glTF2Loader";
 
 const NAME = "KHR_materials_pbrSpecularGlossiness";
 
@@ -23,10 +23,10 @@ export class KHR_materials_pbrSpecularGlossiness implements IGLTFLoaderExtension
     /** Defines whether this extension is enabled. */
     public enabled = true;
 
-    private _loader: GLTFLoaderV2;
+    private _loader: GLTF2Loader;
 
     /** @hidden */
-    constructor(loader: GLTFLoaderV2) {
+    constructor(loader: GLTF2Loader) {
         this._loader = loader;
     }
 
@@ -37,7 +37,7 @@ export class KHR_materials_pbrSpecularGlossiness implements IGLTFLoaderExtension
 
     /** @hidden */
     public loadMaterialPropertiesAsync(context: string, material: IMaterialV2, babylonMaterial: Material): Nullable<Promise<void>> {
-        return GLTFLoaderV2.LoadExtensionAsync<IKHRMaterialsPbrSpecularGlossiness>(context, material, this.name, (extensionContext, extension) => {
+        return GLTF2Loader.LoadExtensionAsync<IKHRMaterialsPbrSpecularGlossiness>(context, material, this.name, (extensionContext, extension) => {
             const promises = new Array<Promise<any>>();
             promises.push(this._loader.loadMaterialBasePropertiesAsync(context, material, babylonMaterial));
             promises.push(this._loadSpecularGlossinessPropertiesAsync(extensionContext, material, extension, babylonMaterial));
@@ -88,4 +88,4 @@ export class KHR_materials_pbrSpecularGlossiness implements IGLTFLoaderExtension
     }
 }
 
-GLTFLoaderV2.RegisterExtension(NAME, (loader) => new KHR_materials_pbrSpecularGlossiness(loader));
+GLTF2Loader.RegisterExtension(NAME, (loader) => new KHR_materials_pbrSpecularGlossiness(loader));

+ 5 - 5
loaders/src/glTF/2.0/Extensions/KHR_materials_unlit.ts

@@ -1,7 +1,7 @@
 import { Material, Nullable, PBRMaterial, Color3 } from "babylonjs";
 import { IMaterialV2 } from "../glTFLoaderInterfaces";
 import { IGLTFLoaderExtensionV2 } from "../glTFLoaderExtension";
-import { GLTFLoaderV2 } from "../glTFLoader";
+import { GLTF2Loader } from "../glTF2Loader";
 
 const NAME = "KHR_materials_unlit";
 
@@ -15,10 +15,10 @@ export class KHR_materials_unlit implements IGLTFLoaderExtensionV2 {
     /** Defines whether this extension is enabled. */
     public enabled = true;
 
-    private _loader: GLTFLoaderV2;
+    private _loader: GLTF2Loader;
 
     /** @hidden */
-    constructor(loader: GLTFLoaderV2) {
+    constructor(loader: GLTF2Loader) {
         this._loader = loader;
     }
 
@@ -29,7 +29,7 @@ export class KHR_materials_unlit implements IGLTFLoaderExtensionV2 {
 
     /** @hidden */
     public loadMaterialPropertiesAsync(context: string, material: IMaterialV2, babylonMaterial: Material): Nullable<Promise<void>> {
-        return GLTFLoaderV2.LoadExtensionAsync(context, material, this.name, () => {
+        return GLTF2Loader.LoadExtensionAsync(context, material, this.name, () => {
             return this._loadUnlitPropertiesAsync(context, material, babylonMaterial);
         });
     }
@@ -72,4 +72,4 @@ export class KHR_materials_unlit implements IGLTFLoaderExtensionV2 {
     }
 }
 
-GLTFLoaderV2.RegisterExtension(NAME, (loader) => new KHR_materials_unlit(loader));
+GLTF2Loader.RegisterExtension(NAME, (loader) => new KHR_materials_unlit(loader));

+ 5 - 5
loaders/src/glTF/2.0/Extensions/KHR_texture_transform.ts

@@ -1,7 +1,7 @@
 import { BaseTexture, Nullable, Texture } from "babylonjs";
 import { ITextureInfoV2 } from "../glTFLoaderInterfaces";
 import { IGLTFLoaderExtensionV2 } from "../glTFLoaderExtension";
-import { GLTFLoaderV2 } from "../glTFLoader";
+import { GLTF2Loader } from "../glTF2Loader";
 
 const NAME = "KHR_texture_transform";
 
@@ -22,10 +22,10 @@ export class KHR_texture_transform implements IGLTFLoaderExtensionV2 {
     /** Defines whether this extension is enabled. */
     public enabled = true;
 
-    private _loader: GLTFLoaderV2;
+    private _loader: GLTF2Loader;
 
     /** @hidden */
-    constructor(loader: GLTFLoaderV2) {
+    constructor(loader: GLTF2Loader) {
         this._loader = loader;
     }
 
@@ -36,7 +36,7 @@ export class KHR_texture_transform implements IGLTFLoaderExtensionV2 {
 
     /** @hidden */
     public loadTextureInfoAsync(context: string, textureInfo: ITextureInfoV2, assign: (babylonTexture: BaseTexture) => void): Nullable<Promise<BaseTexture>> {
-        return GLTFLoaderV2.LoadExtensionAsync<IKHRTextureTransform, BaseTexture>(context, textureInfo, this.name, (extensionContext, extension) => {
+        return GLTF2Loader.LoadExtensionAsync<IKHRTextureTransform, BaseTexture>(context, textureInfo, this.name, (extensionContext, extension) => {
             return this._loader.loadTextureInfoAsync(context, textureInfo, (babylonTexture) => {
                 if (!(babylonTexture instanceof Texture)) {
                     throw new Error(`${extensionContext}: Texture type not supported`);
@@ -70,4 +70,4 @@ export class KHR_texture_transform implements IGLTFLoaderExtensionV2 {
     }
 }
 
-GLTFLoaderV2.RegisterExtension(NAME, (loader) => new KHR_texture_transform(loader));
+GLTF2Loader.RegisterExtension(NAME, (loader) => new KHR_texture_transform(loader));

+ 7 - 7
loaders/src/glTF/2.0/Extensions/MSFT_audio_emitter.ts

@@ -1,7 +1,7 @@
 import { WeightedSound, Sound, Nullable, Mesh, Vector3, Tools, AnimationGroup, AnimationEvent } from "babylonjs";
 import { IArrayItemV2, ISceneV2, INodeV2, IAnimationV2 } from "../glTFLoaderInterfaces";
 import { IGLTFLoaderExtensionV2 } from "../glTFLoaderExtension";
-import { GLTFLoaderV2, ArrayItem } from "../glTFLoader";
+import { GLTF2Loader, ArrayItem } from "../glTF2Loader";
 
 const NAME = "MSFT_audio_emitter";
 
@@ -90,12 +90,12 @@ export class MSFT_audio_emitter implements IGLTFLoaderExtensionV2 {
     /** Defines whether this extension is enabled. */
     public enabled = true;
 
-    private _loader: GLTFLoaderV2;
+    private _loader: GLTF2Loader;
     private _clips: Array<ILoaderClip>;
     private _emitters: Array<ILoaderEmitter>;
 
     /** @hidden */
-    constructor(loader: GLTFLoaderV2) {
+    constructor(loader: GLTF2Loader) {
         this._loader = loader;
     }
 
@@ -122,7 +122,7 @@ export class MSFT_audio_emitter implements IGLTFLoaderExtensionV2 {
 
     /** @hidden */
     public loadSceneAsync(context: string, scene: ISceneV2): Nullable<Promise<void>> {
-        return GLTFLoaderV2.LoadExtensionAsync<IEmittersReference>(context, scene, this.name, (extensionContext, extension) => {
+        return GLTF2Loader.LoadExtensionAsync<IEmittersReference>(context, scene, this.name, (extensionContext, extension) => {
             const promises = new Array<Promise<any>>();
 
             promises.push(this._loader.loadSceneAsync(context, scene));
@@ -143,7 +143,7 @@ export class MSFT_audio_emitter implements IGLTFLoaderExtensionV2 {
 
     /** @hidden */
     public loadNodeAsync(context: string, node: INodeV2, assign: (babylonMesh: Mesh) => void): Nullable<Promise<Mesh>> {
-        return GLTFLoaderV2.LoadExtensionAsync<IEmittersReference, Mesh>(context, node, this.name, (extensionContext, extension) => {
+        return GLTF2Loader.LoadExtensionAsync<IEmittersReference, Mesh>(context, node, this.name, (extensionContext, extension) => {
             const promises = new Array<Promise<any>>();
 
             return this._loader.loadNodeAsync(extensionContext, node, (babylonMesh) => {
@@ -174,7 +174,7 @@ export class MSFT_audio_emitter implements IGLTFLoaderExtensionV2 {
 
     /** @hidden */
     public loadAnimationAsync(context: string, animation: IAnimationV2): Nullable<Promise<AnimationGroup>> {
-        return GLTFLoaderV2.LoadExtensionAsync<ILoaderAnimationEvents, AnimationGroup>(context, animation, this.name, (extensionContext, extension) => {
+        return GLTF2Loader.LoadExtensionAsync<ILoaderAnimationEvents, AnimationGroup>(context, animation, this.name, (extensionContext, extension) => {
             return this._loader.loadAnimationAsync(context, animation).then((babylonAnimationGroup) => {
                 const promises = new Array<Promise<any>>();
 
@@ -300,4 +300,4 @@ export class MSFT_audio_emitter implements IGLTFLoaderExtensionV2 {
     }
 }
 
-GLTFLoaderV2.RegisterExtension(NAME, (loader) => new MSFT_audio_emitter(loader));
+GLTF2Loader.RegisterExtension(NAME, (loader) => new MSFT_audio_emitter(loader));

+ 6 - 6
loaders/src/glTF/2.0/Extensions/MSFT_lod.ts

@@ -1,7 +1,7 @@
 import { Observable, Nullable, Deferred, Mesh, Material } from "babylonjs";
 import { INodeV2, IMaterialV2 } from "../glTFLoaderInterfaces";
 import { IGLTFLoaderExtensionV2 } from "../glTFLoaderExtension";
-import { GLTFLoaderV2, ArrayItem } from "../glTFLoader";
+import { GLTF2Loader, ArrayItem } from "../glTF2Loader";
 
 const NAME = "MSFT_lod";
 
@@ -38,7 +38,7 @@ export class MSFT_lod implements IGLTFLoaderExtensionV2 {
      */
     public onMaterialLODsLoadedObservable = new Observable<number>();
 
-    private _loader: GLTFLoaderV2;
+    private _loader: GLTF2Loader;
 
     private _nodeIndexLOD: Nullable<number> = null;
     private _nodeSignalLODs = new Array<Deferred<void>>();
@@ -49,7 +49,7 @@ export class MSFT_lod implements IGLTFLoaderExtensionV2 {
     private _materialPromiseLODs = new Array<Array<Promise<any>>>();
 
     /** @hidden */
-    constructor(loader: GLTFLoaderV2) {
+    constructor(loader: GLTF2Loader) {
         this._loader = loader;
     }
 
@@ -114,7 +114,7 @@ export class MSFT_lod implements IGLTFLoaderExtensionV2 {
 
     /** @hidden */
     public loadNodeAsync(context: string, node: INodeV2, assign: (babylonMesh: Mesh) => void): Nullable<Promise<Mesh>> {
-        return GLTFLoaderV2.LoadExtensionAsync<IMSFTLOD, Mesh>(context, node, this.name, (extensionContext, extension) => {
+        return GLTF2Loader.LoadExtensionAsync<IMSFTLOD, Mesh>(context, node, this.name, (extensionContext, extension) => {
             let firstPromise: Promise<Mesh>;
 
             const nodeLODs = this._getLODs(extensionContext, node, this._loader.gltf.nodes, extension.ids);
@@ -165,7 +165,7 @@ export class MSFT_lod implements IGLTFLoaderExtensionV2 {
             return null;
         }
 
-        return GLTFLoaderV2.LoadExtensionAsync<IMSFTLOD, Material>(context, material, this.name, (extensionContext, extension) => {
+        return GLTF2Loader.LoadExtensionAsync<IMSFTLOD, Material>(context, material, this.name, (extensionContext, extension) => {
             let firstPromise: Promise<Material>;
 
             const materialLODs = this._getLODs(extensionContext, material, this._loader.gltf.materials, extension.ids);
@@ -276,4 +276,4 @@ export class MSFT_lod implements IGLTFLoaderExtensionV2 {
     }
 }
 
-GLTFLoaderV2.RegisterExtension(NAME, (loader) => new MSFT_lod(loader));
+GLTF2Loader.RegisterExtension(NAME, (loader) => new MSFT_lod(loader));

+ 5 - 5
loaders/src/glTF/2.0/Extensions/MSFT_minecraftMesh.ts

@@ -1,7 +1,7 @@
 import { Material, Nullable, PBRMaterial } from "babylonjs";
 import { IMaterialV2 } from "../glTFLoaderInterfaces";
 import { IGLTFLoaderExtensionV2 } from "../glTFLoaderExtension";
-import { GLTFLoaderV2 } from "../glTFLoader";
+import { GLTF2Loader } from "../glTF2Loader";
 
 const NAME = "MSFT_minecraftMesh";
 
@@ -10,9 +10,9 @@ export class MSFT_minecraftMesh implements IGLTFLoaderExtensionV2 {
     public readonly name = NAME;
     public enabled = true;
 
-    private _loader: GLTFLoaderV2;
+    private _loader: GLTF2Loader;
 
-    constructor(loader: GLTFLoaderV2) {
+    constructor(loader: GLTF2Loader) {
         this._loader = loader;
     }
 
@@ -21,7 +21,7 @@ export class MSFT_minecraftMesh implements IGLTFLoaderExtensionV2 {
     }
 
     public loadMaterialPropertiesAsync(context: string, material: IMaterialV2, babylonMaterial: Material): Nullable<Promise<void>> {
-        return GLTFLoaderV2.LoadExtraAsync<boolean>(context, material, this.name, (extraContext, extra) => {
+        return GLTF2Loader.LoadExtraAsync<boolean>(context, material, this.name, (extraContext, extra) => {
             if (extra) {
                 if (!(babylonMaterial instanceof PBRMaterial)) {
                     throw new Error(`${extraContext}: Material type not supported`);
@@ -45,4 +45,4 @@ export class MSFT_minecraftMesh implements IGLTFLoaderExtensionV2 {
     }
 }
 
-GLTFLoaderV2.RegisterExtension(NAME, (loader) => new MSFT_minecraftMesh(loader));
+GLTF2Loader.RegisterExtension(NAME, (loader) => new MSFT_minecraftMesh(loader));

+ 5 - 5
loaders/src/glTF/2.0/Extensions/MSFT_sRGBFactors.ts

@@ -1,7 +1,7 @@
 import { Material, Nullable, PBRMaterial } from "babylonjs";
 import { IMaterialV2 } from "../glTFLoaderInterfaces";
 import { IGLTFLoaderExtensionV2 } from "../glTFLoaderExtension";
-import { GLTFLoaderV2 } from "../glTFLoader";
+import { GLTF2Loader } from "../glTF2Loader";
 
 const NAME = "MSFT_sRGBFactors";
 
@@ -10,9 +10,9 @@ export class MSFT_sRGBFactors implements IGLTFLoaderExtensionV2 {
     public readonly name = NAME;
     public enabled = true;
 
-    private _loader: GLTFLoaderV2;
+    private _loader: GLTF2Loader;
 
-    constructor(loader: GLTFLoaderV2) {
+    constructor(loader: GLTF2Loader) {
         this._loader = loader;
     }
 
@@ -21,7 +21,7 @@ export class MSFT_sRGBFactors implements IGLTFLoaderExtensionV2 {
     }
 
     public loadMaterialPropertiesAsync(context: string, material: IMaterialV2, babylonMaterial: Material): Nullable<Promise<void>> {
-        return GLTFLoaderV2.LoadExtraAsync<boolean>(context, material, this.name, (extraContext, extra) => {
+        return GLTF2Loader.LoadExtraAsync<boolean>(context, material, this.name, (extraContext, extra) => {
             if (extra) {
                 if (!(babylonMaterial instanceof PBRMaterial)) {
                     throw new Error(`${extraContext}: Material type not supported`);
@@ -45,4 +45,4 @@ export class MSFT_sRGBFactors implements IGLTFLoaderExtensionV2 {
     }
 }
 
-GLTFLoaderV2.RegisterExtension(NAME, (loader) => new MSFT_sRGBFactors(loader));
+GLTF2Loader.RegisterExtension(NAME, (loader) => new MSFT_sRGBFactors(loader));

+ 29 - 29
loaders/src/glTF/2.0/glTFLoader.ts

@@ -49,7 +49,7 @@ export class ArrayItem {
 /**
  * The glTF 2.0 loader
  */
-export class GLTFLoaderV2 implements IGLTFLoader {
+export class GLTF2Loader implements IGLTFLoader {
     /** The glTF object parsed from the JSON. */
     public gltf: IGLTFV2;
 
@@ -74,22 +74,22 @@ export class GLTFLoaderV2 implements IGLTFLoader {
     private static readonly _DefaultSampler: ISamplerV2 = { index: -1 };
 
     private static _ExtensionNames = new Array<string>();
-    private static _ExtensionFactories: { [name: string]: (loader: GLTFLoaderV2) => IGLTFLoaderExtensionV2 } = {};
+    private static _ExtensionFactories: { [name: string]: (loader: GLTF2Loader) => IGLTFLoaderExtensionV2 } = {};
 
     /**
      * Registers a loader extension.
      * @param name The name of the loader extension.
      * @param factory The factory function that creates the loader extension.
      */
-    public static RegisterExtension(name: string, factory: (loader: GLTFLoaderV2) => IGLTFLoaderExtensionV2): void {
-        if (GLTFLoaderV2.UnregisterExtension(name)) {
+    public static RegisterExtension(name: string, factory: (loader: GLTF2Loader) => IGLTFLoaderExtensionV2): void {
+        if (GLTF2Loader.UnregisterExtension(name)) {
             Tools.Warn(`Extension with the name '${name}' already exists`);
         }
 
-        GLTFLoaderV2._ExtensionFactories[name] = factory;
+        GLTF2Loader._ExtensionFactories[name] = factory;
 
         // Keep the order of registration so that extensions registered first are called first.
-        GLTFLoaderV2._ExtensionNames.push(name);
+        GLTF2Loader._ExtensionNames.push(name);
     }
 
     /**
@@ -98,15 +98,15 @@ export class GLTFLoaderV2 implements IGLTFLoader {
      * @returns A boolean indicating whether the extension has been unregistered
      */
     public static UnregisterExtension(name: string): boolean {
-        if (!GLTFLoaderV2._ExtensionFactories[name]) {
+        if (!GLTF2Loader._ExtensionFactories[name]) {
             return false;
         }
 
-        delete GLTFLoaderV2._ExtensionFactories[name];
+        delete GLTF2Loader._ExtensionFactories[name];
 
-        const index = GLTFLoaderV2._ExtensionNames.indexOf(name);
+        const index = GLTF2Loader._ExtensionNames.indexOf(name);
         if (index !== -1) {
-            GLTFLoaderV2._ExtensionNames.splice(index, 1);
+            GLTF2Loader._ExtensionNames.splice(index, 1);
         }
 
         return true;
@@ -346,8 +346,8 @@ export class GLTFLoaderV2 implements IGLTFLoader {
     }
 
     private _loadExtensions(): void {
-        for (const name of GLTFLoaderV2._ExtensionNames) {
-            const extension = GLTFLoaderV2._ExtensionFactories[name](this);
+        for (const name of GLTF2Loader._ExtensionNames) {
+            const extension = GLTF2Loader._ExtensionFactories[name](this);
             this._extensions[name] = extension;
 
             this._parent.onExtensionLoadedObservable.notifyObservers(extension);
@@ -385,7 +385,7 @@ export class GLTFLoaderV2 implements IGLTFLoader {
                 if (!this.babylonScene.useRightHandedSystem) {
                     rootNode.rotation = [0, 1, 0, 0];
                     rootNode.scale = [1, 1, -1];
-                    GLTFLoaderV2._LoadTransform(rootNode, this._rootBabylonMesh);
+                    GLTF2Loader._LoadTransform(rootNode, this._rootBabylonMesh);
                 }
                 break;
             }
@@ -551,7 +551,7 @@ export class GLTFLoaderV2 implements IGLTFLoader {
         node._babylonMesh = babylonMesh;
 
         babylonMesh.setEnabled(false);
-        GLTFLoaderV2._LoadTransform(node, babylonMesh);
+        GLTF2Loader._LoadTransform(node, babylonMesh);
 
         if (node.mesh != undefined) {
             const mesh = ArrayItem.Get(`${context}/mesh`, this.gltf.meshes, node.mesh);
@@ -642,7 +642,7 @@ export class GLTFLoaderV2 implements IGLTFLoader {
             });
         }));
 
-        const babylonDrawMode = GLTFLoaderV2._GetDrawMode(context, primitive.mode);
+        const babylonDrawMode = GLTF2Loader._GetDrawMode(context, primitive.mode);
         if (primitive.material == undefined) {
             let babylonMaterial = this._defaultBabylonMaterialData[babylonDrawMode];
             if (!babylonMaterial) {
@@ -1284,7 +1284,7 @@ export class GLTFLoaderV2 implements IGLTFLoader {
 
         const bufferView = ArrayItem.Get(`${context}/bufferView`, this.gltf.bufferViews, accessor.bufferView);
         accessor._data = this.loadBufferViewAsync(`#/bufferViews/${bufferView.index}`, bufferView).then((data) => {
-            return GLTFLoaderV2._GetTypedArray(context, accessor.componentType, data, accessor.byteOffset, accessor.count);
+            return GLTF2Loader._GetTypedArray(context, accessor.componentType, data, accessor.byteOffset, accessor.count);
         });
 
         return accessor._data as Promise<IndicesArray>;
@@ -1301,7 +1301,7 @@ export class GLTFLoaderV2 implements IGLTFLoader {
             return accessor._data as Promise<Float32Array>;
         }
 
-        const numComponents = GLTFLoaderV2._GetNumComponents(context, accessor.type);
+        const numComponents = GLTF2Loader._GetNumComponents(context, accessor.type);
         const length = numComponents * accessor.count;
 
         if (accessor.bufferView == undefined) {
@@ -1310,7 +1310,7 @@ export class GLTFLoaderV2 implements IGLTFLoader {
         else {
             const bufferView = ArrayItem.Get(`${context}/bufferView`, this.gltf.bufferViews, accessor.bufferView);
             accessor._data = this.loadBufferViewAsync(`#/bufferViews/${bufferView.index}`, bufferView).then((data) => {
-                return GLTFLoaderV2._GetTypedArray(context, accessor.componentType, data, accessor.byteOffset, length);
+                return GLTF2Loader._GetTypedArray(context, accessor.componentType, data, accessor.byteOffset, length);
             });
         }
 
@@ -1323,8 +1323,8 @@ export class GLTFLoaderV2 implements IGLTFLoader {
                     this.loadBufferViewAsync(`#/bufferViews/${indicesBufferView.index}`, indicesBufferView),
                     this.loadBufferViewAsync(`#/bufferViews/${valuesBufferView.index}`, valuesBufferView)
                 ]).then(([indicesData, valuesData]) => {
-                    const indices = GLTFLoaderV2._GetTypedArray(`${context}/sparse/indices`, sparse.indices.componentType, indicesData, sparse.indices.byteOffset, sparse.count) as IndicesArray;
-                    const values = GLTFLoaderV2._GetTypedArray(`${context}/sparse/values`, accessor.componentType, valuesData, sparse.values.byteOffset, numComponents * sparse.count) as Float32Array;
+                    const indices = GLTF2Loader._GetTypedArray(`${context}/sparse/indices`, sparse.indices.componentType, indicesData, sparse.indices.byteOffset, sparse.count) as IndicesArray;
+                    const values = GLTF2Loader._GetTypedArray(`${context}/sparse/values`, accessor.componentType, valuesData, sparse.values.byteOffset, numComponents * sparse.count) as Float32Array;
 
                     let valuesIndex = 0;
                     for (let indicesIndex = 0; indicesIndex < indices.length; indicesIndex++) {
@@ -1374,7 +1374,7 @@ export class GLTFLoaderV2 implements IGLTFLoader {
         else {
             const bufferView = ArrayItem.Get(`${context}/bufferView`, this.gltf.bufferViews, accessor.bufferView);
             accessor._babylonVertexBuffer = this._loadVertexBufferViewAsync(bufferView, kind).then((babylonBuffer) => {
-                const size = GLTFLoaderV2._GetNumComponents(context, accessor.type);
+                const size = GLTF2Loader._GetNumComponents(context, accessor.type);
                 return new VertexBuffer(this.babylonScene.getEngine(), babylonBuffer, kind, false, false, bufferView.byteStride,
                     false, accessor.byteOffset, size, accessor.componentType, accessor.normalized, true);
             });
@@ -1644,7 +1644,7 @@ export class GLTFLoaderV2 implements IGLTFLoader {
 
         this.logOpen(`${context} ${texture.name || ""}`);
 
-        const sampler = (texture.sampler == undefined ? GLTFLoaderV2._DefaultSampler : ArrayItem.Get(`${context}/sampler`, this.gltf.samplers, texture.sampler));
+        const sampler = (texture.sampler == undefined ? GLTF2Loader._DefaultSampler : ArrayItem.Get(`${context}/sampler`, this.gltf.samplers, texture.sampler));
         const samplerData = this._loadSampler(`#/samplers/${sampler.index}`, sampler);
 
         const deferred = new Deferred<void>();
@@ -1684,9 +1684,9 @@ export class GLTFLoaderV2 implements IGLTFLoader {
         if (!sampler._data) {
             sampler._data = {
                 noMipMaps: (sampler.minFilter === TextureMinFilter.NEAREST || sampler.minFilter === TextureMinFilter.LINEAR),
-                samplingMode: GLTFLoaderV2._GetTextureSamplingMode(context, sampler),
-                wrapU: GLTFLoaderV2._GetTextureWrapMode(`${context}/wrapS`, sampler.wrapS),
-                wrapV: GLTFLoaderV2._GetTextureWrapMode(`${context}/wrapT`, sampler.wrapT)
+                samplingMode: GLTF2Loader._GetTextureSamplingMode(context, sampler),
+                wrapU: GLTF2Loader._GetTextureWrapMode(`${context}/wrapS`, sampler.wrapS),
+                wrapV: GLTF2Loader._GetTextureWrapMode(`${context}/wrapT`, sampler.wrapT)
             };
         }
 
@@ -1729,7 +1729,7 @@ export class GLTFLoaderV2 implements IGLTFLoader {
             return extensionPromise;
         }
 
-        if (!GLTFLoaderV2._ValidateUri(uri)) {
+        if (!GLTF2Loader._ValidateUri(uri)) {
             throw new Error(`${context}: '${uri}' is invalid`);
         }
 
@@ -1956,7 +1956,7 @@ export class GLTFLoaderV2 implements IGLTFLoader {
     }
 
     private _forEachExtensions(action: (extension: IGLTFLoaderExtensionV2) => void): void {
-        for (const name of GLTFLoaderV2._ExtensionNames) {
+        for (const name of GLTF2Loader._ExtensionNames) {
             const extension = this._extensions[name];
             if (extension.enabled) {
                 action(extension);
@@ -1965,7 +1965,7 @@ export class GLTFLoaderV2 implements IGLTFLoader {
     }
 
     private _applyExtensions<T>(property: IProperty, actionAsync: (extension: IGLTFLoaderExtensionV2) => Nullable<T> | undefined): Nullable<T> {
-        for (const name of GLTFLoaderV2._ExtensionNames) {
+        for (const name of GLTF2Loader._ExtensionNames) {
             const extension = this._extensions[name];
             if (extension.enabled) {
                 const loaderProperty = property as ILoaderProperty;
@@ -2124,4 +2124,4 @@ export class GLTFLoaderV2 implements IGLTFLoader {
     }
 }
 
-GLTFFileLoader._CreateGLTFLoaderV2 = (parent) => new GLTFLoaderV2(parent);
+GLTFFileLoader._CreateGLTF2Loader = (parent) => new GLTF2Loader(parent);

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

@@ -1,4 +1,4 @@
-export * from "./glTFLoader";
+export * from "./glTF2Loader";
 export * from "./glTFLoaderExtension";
 export * from "./glTFLoaderInterfaces";
 export * from "./Extensions";

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

@@ -108,7 +108,7 @@ export class GLTFFileLoader implements IDisposable, ISceneLoaderPluginAsync, ISc
     public static _CreateGLTF1Loader: (parent: GLTFFileLoader) => IGLTFLoader;
 
     /** @hidden */
-    public static _CreateGLTFLoaderV2: (parent: GLTFFileLoader) => IGLTFLoader;
+    public static _CreateGLTF2Loader: (parent: GLTFFileLoader) => IGLTFLoader;
 
     // --------------
     // Common options
@@ -625,7 +625,7 @@ export class GLTFFileLoader implements IDisposable, ISceneLoaderPluginAsync, ISc
 
         const createLoaders: { [key: number]: (parent: GLTFFileLoader) => IGLTFLoader } = {
             1: GLTFFileLoader._CreateGLTF1Loader,
-            2: GLTFFileLoader._CreateGLTFLoaderV2
+            2: GLTFFileLoader._CreateGLTF2Loader
         };
 
         const createLoader = createLoaders[version.major];