babylonjs-loaders 8.29.0 → 8.29.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -961,6 +961,10 @@ export class PBRMaterialLoadingAdapter implements IMaterialLoadingAdapter {
961
961
  * @returns The coat roughness texture or null
962
962
  */
963
963
  get coatRoughnessTexture(): Nullable<BaseTexture>;
964
+ /**
965
+ * Sets the coat index of refraction (IOR).
966
+ */
967
+ set coatIor(value: number);
964
968
  /**
965
969
  * Sets the coat darkening value.
966
970
  * Note: PBR doesn't have a direct coat darkening property, so this is a no-op.
@@ -1571,6 +1575,10 @@ export class OpenPBRMaterialLoadingAdapter implements IMaterialLoadingAdapter {
1571
1575
  * @returns The coat roughness texture or null
1572
1576
  */
1573
1577
  get coatRoughnessTexture(): Nullable<BaseTexture>;
1578
+ /**
1579
+ * Sets the coat index of refraction (IOR) of the OpenPBR material.
1580
+ */
1581
+ set coatIor(value: number);
1574
1582
  /**
1575
1583
  * Sets the coat darkening value of the OpenPBR material.
1576
1584
  * @param value The coat darkening value
@@ -1988,6 +1996,10 @@ export interface IMaterialLoadingAdapter {
1988
1996
  * Sets/gets the coat roughness texture (OpenPBR: coatRoughnessTexture, PBR: clearCoat.textureRoughness)
1989
1997
  */
1990
1998
  coatRoughnessTexture: Nullable<BaseTexture>;
1999
+ /**
2000
+ * Sets the coat index of refraction (IOR)
2001
+ */
2002
+ coatIor: number;
1991
2003
  /**
1992
2004
  * Sets the coat darkening (OpenPBR: coatDarkening, no PBR equivalent)
1993
2005
  */
@@ -2678,10 +2690,6 @@ import { Animation } from "babylonjs/Animations/animation";
2678
2690
  import { IAnimatable } from "babylonjs/Animations/animatable.interface";
2679
2691
  import { AnimationGroup } from "babylonjs/Animations/animationGroup";
2680
2692
  import { Material } from "babylonjs/Materials/material";
2681
- import { PBRMaterial } from "babylonjs/Materials/PBR/pbrMaterial";
2682
- import { OpenPBRMaterial } from "babylonjs/Materials/PBR/openPbrMaterial";
2683
- import { OpenPBRMaterialLoadingAdapter } from "babylonjs-loaders/glTF/2.0/openPbrMaterialLoadingAdapter";
2684
- import { PBRMaterialLoadingAdapter } from "babylonjs-loaders/glTF/2.0/pbrMaterialLoadingAdapter";
2685
2693
  import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
2686
2694
  import { TransformNode } from "babylonjs/Meshes/transformNode";
2687
2695
  import { Buffer, VertexBuffer } from "babylonjs/Buffers/buffer";
@@ -2741,6 +2749,10 @@ export interface IAnimationTargetInfo {
2741
2749
  }
2742
2750
  /** @internal */
2743
2751
  export function LoadBoundingInfoFromPositionAccessor(accessor: IAccessor): Nullable<BoundingInfo>;
2752
+ type PBRMaterialImplementation = {
2753
+ materialClass: typeof Material;
2754
+ adapterClass: new (material: Material) => IMaterialLoadingAdapter;
2755
+ };
2744
2756
  /**
2745
2757
  * The glTF 2.0 loader
2746
2758
  */
@@ -2771,9 +2783,7 @@ export class GLTFLoader implements IGLTFLoader {
2771
2783
  private readonly _postSceneLoadActions;
2772
2784
  private readonly _materialAdapterCache;
2773
2785
  /** @internal */
2774
- _pbrMaterialClass: typeof PBRMaterial | typeof OpenPBRMaterial | null;
2775
- /** @internal */
2776
- _pbrMaterialAdapterClass: typeof OpenPBRMaterialLoadingAdapter | typeof PBRMaterialLoadingAdapter | null;
2786
+ _pbrMaterialImpl: Nullable<Readonly<PBRMaterialImplementation>> | false;
2777
2787
  /**
2778
2788
  * The default glTF sampler.
2779
2789
  */
@@ -3426,9 +3436,6 @@ export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_lights_punctual";
3426
3436
  export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness";
3427
3437
  export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_unlit";
3428
3438
  export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_clearcoat";
3429
- export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_clearcoat_darkening";
3430
- export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_clearcoat_color";
3431
- export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_clearcoat_anisotropy";
3432
3439
  export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_iridescence";
3433
3440
  export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_anisotropy";
3434
3441
  export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_emissive_strength";
@@ -4652,142 +4659,6 @@ export class KHR_materials_diffuse_roughness implements IGLTFLoaderExtension {
4652
4659
  private _loadDiffuseRoughnessPropertiesAsync;
4653
4660
  }
4654
4661
 
4655
- }
4656
- declare module "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_clearcoat_darkening" {
4657
- import { Nullable } from "babylonjs/types";
4658
- import { Material } from "babylonjs/Materials/material";
4659
- import { IMaterial } from "babylonjs-loaders/glTF/2.0/glTFLoaderInterfaces";
4660
- import { IGLTFLoaderExtension } from "babylonjs-loaders/glTF/2.0/glTFLoaderExtension";
4661
- import { GLTFLoader } from "babylonjs-loaders/glTF/2.0/glTFLoader";
4662
- module "babylonjs-loaders/glTF/glTFFileLoader" {
4663
- interface GLTFLoaderExtensionOptions {
4664
- /**
4665
- * Defines options for the KHR_materials_clearcoat_darkening extension.
4666
- */
4667
- ["KHR_materials_clearcoat_darkening"]: {};
4668
- }
4669
- }
4670
- /**
4671
- * [Proposed Specification](https://github.com/KhronosGroup/glTF/pull/2518)
4672
- * !!! Experimental Extension Subject to Changes !!!
4673
- */
4674
- export class KHR_materials_clearcoat_darkening implements IGLTFLoaderExtension {
4675
- /**
4676
- * The name of this extension.
4677
- */
4678
- readonly name: string;
4679
- /**
4680
- * Defines whether this extension is enabled.
4681
- */
4682
- enabled: boolean;
4683
- /**
4684
- * Defines a number that determines the order the extensions are applied.
4685
- */
4686
- order: number;
4687
- private _loader;
4688
- /**
4689
- * @internal
4690
- */
4691
- constructor(loader: GLTFLoader);
4692
- /** @internal */
4693
- dispose(): void;
4694
- /**
4695
- * @internal
4696
- */
4697
- loadMaterialPropertiesAsync(context: string, material: IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
4698
- private _loadDarkeningPropertiesAsync;
4699
- }
4700
-
4701
- }
4702
- declare module "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_clearcoat_color" {
4703
- import { Nullable } from "babylonjs/types";
4704
- import { Material } from "babylonjs/Materials/material";
4705
- import { IMaterial } from "babylonjs-loaders/glTF/2.0/glTFLoaderInterfaces";
4706
- import { IGLTFLoaderExtension } from "babylonjs-loaders/glTF/2.0/glTFLoaderExtension";
4707
- import { GLTFLoader } from "babylonjs-loaders/glTF/2.0/glTFLoader";
4708
- module "babylonjs-loaders/glTF/glTFFileLoader" {
4709
- interface GLTFLoaderExtensionOptions {
4710
- /**
4711
- * Defines options for the KHR_materials_clearcoat_color extension.
4712
- */
4713
- ["KHR_materials_clearcoat_color"]: {};
4714
- }
4715
- }
4716
- /**
4717
- * !!! Experimental Extension Subject to Changes !!!
4718
- */
4719
- export class KHR_materials_clearcoat_color implements IGLTFLoaderExtension {
4720
- /**
4721
- * The name of this extension.
4722
- */
4723
- readonly name: string;
4724
- /**
4725
- * Defines whether this extension is enabled.
4726
- */
4727
- enabled: boolean;
4728
- /**
4729
- * Defines a number that determines the order the extensions are applied.
4730
- */
4731
- order: number;
4732
- private _loader;
4733
- /**
4734
- * @internal
4735
- */
4736
- constructor(loader: GLTFLoader);
4737
- /** @internal */
4738
- dispose(): void;
4739
- /**
4740
- * @internal
4741
- */
4742
- loadMaterialPropertiesAsync(context: string, material: IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
4743
- private _loadColorPropertiesAsync;
4744
- }
4745
-
4746
- }
4747
- declare module "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_clearcoat_anisotropy" {
4748
- import { Nullable } from "babylonjs/types";
4749
- import { Material } from "babylonjs/Materials/material";
4750
- import { IMaterial } from "babylonjs-loaders/glTF/2.0/glTFLoaderInterfaces";
4751
- import { IGLTFLoaderExtension } from "babylonjs-loaders/glTF/2.0/glTFLoaderExtension";
4752
- import { GLTFLoader } from "babylonjs-loaders/glTF/2.0/glTFLoader";
4753
- module "babylonjs-loaders/glTF/glTFFileLoader" {
4754
- interface GLTFLoaderExtensionOptions {
4755
- /**
4756
- * Defines options for the KHR_materials_clearcoat_anisotropy extension.
4757
- */
4758
- ["KHR_materials_clearcoat_anisotropy"]: {};
4759
- }
4760
- }
4761
- /**
4762
- * [Specification](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_clearcoat_anisotropy)
4763
- */
4764
- export class KHR_materials_clearcoat_anisotropy implements IGLTFLoaderExtension {
4765
- /**
4766
- * The name of this extension.
4767
- */
4768
- readonly name: string;
4769
- /**
4770
- * Defines whether this extension is enabled.
4771
- */
4772
- enabled: boolean;
4773
- /**
4774
- * Defines a number that determines the order the extensions are applied.
4775
- */
4776
- order: number;
4777
- private _loader;
4778
- /**
4779
- * @internal
4780
- */
4781
- constructor(loader: GLTFLoader);
4782
- /** @internal */
4783
- dispose(): void;
4784
- /**
4785
- * @internal
4786
- */
4787
- loadMaterialPropertiesAsync(context: string, material: IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
4788
- private _loadAnisotropyPropertiesAsync;
4789
- }
4790
-
4791
4662
  }
4792
4663
  declare module "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_clearcoat" {
4793
4664
  import { Nullable } from "babylonjs/types";
@@ -4832,6 +4703,9 @@ export class KHR_materials_clearcoat implements IGLTFLoaderExtension {
4832
4703
  */
4833
4704
  loadMaterialPropertiesAsync(context: string, material: IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
4834
4705
  private _loadClearCoatPropertiesAsync;
4706
+ private _loadClearCoatDarkeningPropertiesAsync;
4707
+ private _loadClearCoatColorPropertiesAsync;
4708
+ private _loadClearCoatAnisotropyPropertiesAsync;
4835
4709
  }
4836
4710
 
4837
4711
  }
@@ -8314,6 +8188,10 @@ declare module BABYLON.GLTF2 {
8314
8188
  * @returns The coat roughness texture or null
8315
8189
  */
8316
8190
  get coatRoughnessTexture(): Nullable<BaseTexture>;
8191
+ /**
8192
+ * Sets the coat index of refraction (IOR).
8193
+ */
8194
+ set coatIor(value: number);
8317
8195
  /**
8318
8196
  * Sets the coat darkening value.
8319
8197
  * Note: PBR doesn't have a direct coat darkening property, so this is a no-op.
@@ -8924,6 +8802,10 @@ declare module BABYLON.GLTF2 {
8924
8802
  * @returns The coat roughness texture or null
8925
8803
  */
8926
8804
  get coatRoughnessTexture(): Nullable<BaseTexture>;
8805
+ /**
8806
+ * Sets the coat index of refraction (IOR) of the OpenPBR material.
8807
+ */
8808
+ set coatIor(value: number);
8927
8809
  /**
8928
8810
  * Sets the coat darkening value of the OpenPBR material.
8929
8811
  * @param value The coat darkening value
@@ -9343,6 +9225,10 @@ declare module BABYLON.GLTF2 {
9343
9225
  * Sets/gets the coat roughness texture (OpenPBR: coatRoughnessTexture, PBR: clearCoat.textureRoughness)
9344
9226
  */
9345
9227
  coatRoughnessTexture: Nullable<BaseTexture>;
9228
+ /**
9229
+ * Sets the coat index of refraction (IOR)
9230
+ */
9231
+ coatIor: number;
9346
9232
  /**
9347
9233
  * Sets the coat darkening (OpenPBR: coatDarkening, no PBR equivalent)
9348
9234
  */
@@ -10061,6 +9947,10 @@ declare module BABYLON.GLTF2 {
10061
9947
  }
10062
9948
  /** @internal */
10063
9949
  export function LoadBoundingInfoFromPositionAccessor(accessor: BABYLON.GLTF2.Loader.IAccessor): Nullable<BoundingInfo>;
9950
+ type PBRMaterialImplementation = {
9951
+ materialClass: typeof Material;
9952
+ adapterClass: new (material: Material) => BABYLON.GLTF2.IMaterialLoadingAdapter;
9953
+ };
10064
9954
  /**
10065
9955
  * The glTF 2.0 loader
10066
9956
  */
@@ -10091,9 +9981,7 @@ declare module BABYLON.GLTF2 {
10091
9981
  private readonly _postSceneLoadActions;
10092
9982
  private readonly _materialAdapterCache;
10093
9983
  /** @internal */
10094
- _pbrMaterialClass: typeof PBRMaterial | typeof OpenPBRMaterial | null;
10095
- /** @internal */
10096
- _pbrMaterialAdapterClass: typeof BABYLON.GLTF2.OpenPBRMaterialLoadingAdapter | typeof BABYLON.GLTF2.PBRMaterialLoadingAdapter | null;
9984
+ _pbrMaterialImpl: Nullable<Readonly<PBRMaterialImplementation>> | false;
10097
9985
  /**
10098
9986
  * The default glTF sampler.
10099
9987
  */
@@ -11898,136 +11786,6 @@ declare module BABYLON {
11898
11786
  ["KHR_materials_diffuse_roughness"]: {};
11899
11787
  }
11900
11788
 
11901
- }
11902
- declare module BABYLON.GLTF2.Loader.Extensions {
11903
- /**
11904
- * [Proposed Specification](https://github.com/KhronosGroup/glTF/pull/2518)
11905
- * !!! Experimental Extension Subject to Changes !!!
11906
- */
11907
- export class KHR_materials_clearcoat_darkening implements BABYLON.GLTF2.IGLTFLoaderExtension {
11908
- /**
11909
- * The name of this extension.
11910
- */
11911
- readonly name = "KHR_materials_clearcoat_darkening";
11912
- /**
11913
- * Defines whether this extension is enabled.
11914
- */
11915
- enabled: boolean;
11916
- /**
11917
- * Defines a number that determines the order the extensions are applied.
11918
- */
11919
- order: number;
11920
- private _loader;
11921
- /**
11922
- * @internal
11923
- */
11924
- constructor(loader: BABYLON.GLTF2.GLTFLoader);
11925
- /** @internal */
11926
- dispose(): void;
11927
- /**
11928
- * @internal
11929
- */
11930
- loadMaterialPropertiesAsync(context: string, material: BABYLON.GLTF2.Loader.IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
11931
- private _loadDarkeningPropertiesAsync;
11932
- }
11933
-
11934
-
11935
-
11936
- }
11937
- declare module BABYLON {
11938
- interface GLTFLoaderExtensionOptions {
11939
- /**
11940
- * Defines options for the KHR_materials_clearcoat_darkening extension.
11941
- */
11942
- ["KHR_materials_clearcoat_darkening"]: {};
11943
- }
11944
-
11945
- }
11946
- declare module BABYLON.GLTF2.Loader.Extensions {
11947
- /**
11948
- * !!! Experimental Extension Subject to Changes !!!
11949
- */
11950
- export class KHR_materials_clearcoat_color implements BABYLON.GLTF2.IGLTFLoaderExtension {
11951
- /**
11952
- * The name of this extension.
11953
- */
11954
- readonly name = "KHR_materials_clearcoat_color";
11955
- /**
11956
- * Defines whether this extension is enabled.
11957
- */
11958
- enabled: boolean;
11959
- /**
11960
- * Defines a number that determines the order the extensions are applied.
11961
- */
11962
- order: number;
11963
- private _loader;
11964
- /**
11965
- * @internal
11966
- */
11967
- constructor(loader: BABYLON.GLTF2.GLTFLoader);
11968
- /** @internal */
11969
- dispose(): void;
11970
- /**
11971
- * @internal
11972
- */
11973
- loadMaterialPropertiesAsync(context: string, material: BABYLON.GLTF2.Loader.IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
11974
- private _loadColorPropertiesAsync;
11975
- }
11976
-
11977
-
11978
-
11979
- }
11980
- declare module BABYLON {
11981
- interface GLTFLoaderExtensionOptions {
11982
- /**
11983
- * Defines options for the KHR_materials_clearcoat_color extension.
11984
- */
11985
- ["KHR_materials_clearcoat_color"]: {};
11986
- }
11987
-
11988
- }
11989
- declare module BABYLON.GLTF2.Loader.Extensions {
11990
- /**
11991
- * [Specification](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_clearcoat_anisotropy)
11992
- */
11993
- export class KHR_materials_clearcoat_anisotropy implements BABYLON.GLTF2.IGLTFLoaderExtension {
11994
- /**
11995
- * The name of this extension.
11996
- */
11997
- readonly name = "KHR_materials_clearcoat_anisotropy";
11998
- /**
11999
- * Defines whether this extension is enabled.
12000
- */
12001
- enabled: boolean;
12002
- /**
12003
- * Defines a number that determines the order the extensions are applied.
12004
- */
12005
- order: number;
12006
- private _loader;
12007
- /**
12008
- * @internal
12009
- */
12010
- constructor(loader: BABYLON.GLTF2.GLTFLoader);
12011
- /** @internal */
12012
- dispose(): void;
12013
- /**
12014
- * @internal
12015
- */
12016
- loadMaterialPropertiesAsync(context: string, material: BABYLON.GLTF2.Loader.IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
12017
- private _loadAnisotropyPropertiesAsync;
12018
- }
12019
-
12020
-
12021
-
12022
- }
12023
- declare module BABYLON {
12024
- interface GLTFLoaderExtensionOptions {
12025
- /**
12026
- * Defines options for the KHR_materials_clearcoat_anisotropy extension.
12027
- */
12028
- ["KHR_materials_clearcoat_anisotropy"]: {};
12029
- }
12030
-
12031
11789
  }
12032
11790
  declare module BABYLON.GLTF2.Loader.Extensions {
12033
11791
  /**
@@ -12059,6 +11817,9 @@ declare module BABYLON.GLTF2.Loader.Extensions {
12059
11817
  */
12060
11818
  loadMaterialPropertiesAsync(context: string, material: BABYLON.GLTF2.Loader.IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
12061
11819
  private _loadClearCoatPropertiesAsync;
11820
+ private _loadClearCoatDarkeningPropertiesAsync;
11821
+ private _loadClearCoatColorPropertiesAsync;
11822
+ private _loadClearCoatAnisotropyPropertiesAsync;
12062
11823
  }
12063
11824
 
12064
11825
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "babylonjs-loaders",
3
- "version": "8.29.0",
3
+ "version": "8.29.2",
4
4
  "main": "babylonjs.loaders.min.js",
5
5
  "types": "babylonjs.loaders.module.d.ts",
6
6
  "files": [
@@ -15,8 +15,8 @@
15
15
  "test:escheck": "es-check es6 ./babylonjs.loaders.js"
16
16
  },
17
17
  "dependencies": {
18
- "babylonjs": "^8.29.0",
19
- "babylonjs-gltf2interface": "^8.29.0"
18
+ "babylonjs": "^8.29.2",
19
+ "babylonjs-gltf2interface": "^8.29.2"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@dev/build-tools": "1.0.0",