@babylonjs/loaders 5.0.0-rc.7 → 5.0.0-rc.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. package/OBJ/index.d.ts +4 -4
  2. package/OBJ/index.js +4 -4
  3. package/OBJ/mtlFileLoader.d.ts +41 -41
  4. package/OBJ/mtlFileLoader.js +232 -232
  5. package/OBJ/objFileLoader.d.ts +126 -126
  6. package/OBJ/objFileLoader.js +296 -296
  7. package/OBJ/objLoadingOptions.d.ts +43 -43
  8. package/OBJ/objLoadingOptions.js +1 -1
  9. package/OBJ/solidParser.d.ts +154 -154
  10. package/OBJ/solidParser.js +693 -693
  11. package/STL/index.d.ts +1 -1
  12. package/STL/index.js +1 -1
  13. package/STL/stlFileLoader.d.ts +64 -64
  14. package/STL/stlFileLoader.js +233 -233
  15. package/glTF/1.0/glTFBinaryExtension.d.ts +13 -13
  16. package/glTF/1.0/glTFBinaryExtension.js +60 -60
  17. package/glTF/1.0/glTFLoader.d.ts +136 -136
  18. package/glTF/1.0/glTFLoader.js +1815 -1815
  19. package/glTF/1.0/glTFLoaderInterfaces.d.ts +412 -412
  20. package/glTF/1.0/glTFLoaderInterfaces.js +95 -95
  21. package/glTF/1.0/glTFLoaderUtils.d.ts +62 -62
  22. package/glTF/1.0/glTFLoaderUtils.js +250 -250
  23. package/glTF/1.0/glTFMaterialsCommonExtension.d.ts +10 -10
  24. package/glTF/1.0/glTFMaterialsCommonExtension.js +129 -129
  25. package/glTF/1.0/index.d.ts +5 -5
  26. package/glTF/1.0/index.js +5 -5
  27. package/glTF/2.0/Extensions/EXT_lights_image_based.d.ts +43 -43
  28. package/glTF/2.0/Extensions/EXT_lights_image_based.js +117 -117
  29. package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.d.ts +36 -36
  30. package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.js +88 -88
  31. package/glTF/2.0/Extensions/EXT_meshopt_compression.d.ts +34 -34
  32. package/glTF/2.0/Extensions/EXT_meshopt_compression.js +49 -49
  33. package/glTF/2.0/Extensions/EXT_texture_webp.d.ts +29 -29
  34. package/glTF/2.0/Extensions/EXT_texture_webp.js +40 -40
  35. package/glTF/2.0/Extensions/ExtrasAsMetadata.d.ts +50 -50
  36. package/glTF/2.0/Extensions/ExtrasAsMetadata.js +73 -73
  37. package/glTF/2.0/Extensions/KHR_draco_mesh_compression.d.ts +39 -39
  38. package/glTF/2.0/Extensions/KHR_draco_mesh_compression.js +112 -112
  39. package/glTF/2.0/Extensions/KHR_lights_punctual.d.ts +36 -36
  40. package/glTF/2.0/Extensions/KHR_lights_punctual.js +89 -89
  41. package/glTF/2.0/Extensions/KHR_materials_clearcoat.d.ts +39 -39
  42. package/glTF/2.0/Extensions/KHR_materials_clearcoat.js +94 -94
  43. package/glTF/2.0/Extensions/KHR_materials_emissive_strength.d.ts +38 -38
  44. package/glTF/2.0/Extensions/KHR_materials_emissive_strength.js +53 -53
  45. package/glTF/2.0/Extensions/KHR_materials_ior.d.ts +42 -42
  46. package/glTF/2.0/Extensions/KHR_materials_ior.js +62 -62
  47. package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.d.ts +38 -38
  48. package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.js +80 -80
  49. package/glTF/2.0/Extensions/KHR_materials_sheen.d.ts +39 -39
  50. package/glTF/2.0/Extensions/KHR_materials_sheen.js +84 -84
  51. package/glTF/2.0/Extensions/KHR_materials_specular.d.ts +38 -38
  52. package/glTF/2.0/Extensions/KHR_materials_specular.js +74 -74
  53. package/glTF/2.0/Extensions/KHR_materials_translucency.d.ts +39 -39
  54. package/glTF/2.0/Extensions/KHR_materials_translucency.js +83 -83
  55. package/glTF/2.0/Extensions/KHR_materials_transmission.d.ts +38 -38
  56. package/glTF/2.0/Extensions/KHR_materials_transmission.js +288 -288
  57. package/glTF/2.0/Extensions/KHR_materials_unlit.d.ts +38 -38
  58. package/glTF/2.0/Extensions/KHR_materials_unlit.js +73 -73
  59. package/glTF/2.0/Extensions/KHR_materials_variants.d.ts +87 -87
  60. package/glTF/2.0/Extensions/KHR_materials_variants.js +254 -254
  61. package/glTF/2.0/Extensions/KHR_materials_volume.d.ts +39 -39
  62. package/glTF/2.0/Extensions/KHR_materials_volume.js +85 -85
  63. package/glTF/2.0/Extensions/KHR_mesh_quantization.d.ts +22 -22
  64. package/glTF/2.0/Extensions/KHR_mesh_quantization.js +23 -23
  65. package/glTF/2.0/Extensions/KHR_texture_basisu.d.ts +29 -29
  66. package/glTF/2.0/Extensions/KHR_texture_basisu.js +40 -40
  67. package/glTF/2.0/Extensions/KHR_texture_transform.d.ts +33 -33
  68. package/glTF/2.0/Extensions/KHR_texture_transform.js +61 -61
  69. package/glTF/2.0/Extensions/KHR_xmp_json_ld.d.ts +32 -32
  70. package/glTF/2.0/Extensions/KHR_xmp_json_ld.js +49 -49
  71. package/glTF/2.0/Extensions/MSFT_audio_emitter.d.ts +54 -54
  72. package/glTF/2.0/Extensions/MSFT_audio_emitter.js +240 -240
  73. package/glTF/2.0/Extensions/MSFT_lod.d.ts +109 -109
  74. package/glTF/2.0/Extensions/MSFT_lod.js +369 -369
  75. package/glTF/2.0/Extensions/MSFT_minecraftMesh.d.ts +14 -14
  76. package/glTF/2.0/Extensions/MSFT_minecraftMesh.js +36 -36
  77. package/glTF/2.0/Extensions/MSFT_sRGBFactors.d.ts +14 -14
  78. package/glTF/2.0/Extensions/MSFT_sRGBFactors.js +36 -36
  79. package/glTF/2.0/Extensions/index.d.ts +26 -26
  80. package/glTF/2.0/Extensions/index.js +26 -26
  81. package/glTF/2.0/glTFLoader.d.ts +405 -405
  82. package/glTF/2.0/glTFLoader.js +2366 -2366
  83. package/glTF/2.0/glTFLoaderExtension.d.ts +152 -152
  84. package/glTF/2.0/glTFLoaderExtension.js +1 -1
  85. package/glTF/2.0/glTFLoaderInterfaces.d.ts +211 -211
  86. package/glTF/2.0/glTFLoaderInterfaces.js +1 -1
  87. package/glTF/2.0/index.d.ts +4 -4
  88. package/glTF/2.0/index.js +4 -4
  89. package/glTF/glTFFileLoader.d.ts +433 -433
  90. package/glTF/glTFFileLoader.js +927 -927
  91. package/glTF/glTFValidation.d.ts +29 -29
  92. package/glTF/glTFValidation.js +123 -123
  93. package/glTF/index.d.ts +5 -5
  94. package/glTF/index.js +5 -5
  95. package/index.d.ts +3 -3
  96. package/index.js +3 -3
  97. package/legacy/legacy-glTF.d.ts +2 -2
  98. package/legacy/legacy-glTF.js +18 -18
  99. package/legacy/legacy-glTF1.d.ts +2 -2
  100. package/legacy/legacy-glTF1.js +14 -14
  101. package/legacy/legacy-glTF1FileLoader.d.ts +2 -2
  102. package/legacy/legacy-glTF1FileLoader.js +3 -3
  103. package/legacy/legacy-glTF2.d.ts +2 -2
  104. package/legacy/legacy-glTF2.js +32 -32
  105. package/legacy/legacy-glTF2FileLoader.d.ts +2 -2
  106. package/legacy/legacy-glTF2FileLoader.js +3 -3
  107. package/legacy/legacy-glTFFileLoader.d.ts +3 -3
  108. package/legacy/legacy-glTFFileLoader.js +4 -4
  109. package/legacy/legacy-objFileLoader.d.ts +1 -1
  110. package/legacy/legacy-objFileLoader.js +12 -12
  111. package/legacy/legacy-stlFileLoader.d.ts +1 -1
  112. package/legacy/legacy-stlFileLoader.js +12 -12
  113. package/legacy/legacy.d.ts +6 -6
  114. package/legacy/legacy.js +7 -7
  115. package/package.json +3 -3
@@ -1,42 +1,42 @@
1
- import { Nullable } from "@babylonjs/core/types.js";
2
- import { Material } from "@babylonjs/core/Materials/material.js";
3
- import { IMaterial } from "../glTFLoaderInterfaces";
4
- import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
5
- import { GLTFLoader } from "../glTFLoader";
6
- /**
7
- * [Specification](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_ior)
8
- */
9
- export declare class KHR_materials_ior implements IGLTFLoaderExtension {
10
- /**
11
- * Default ior Value from the spec.
12
- */
13
- private static readonly _DEFAULT_IOR;
14
- /**
15
- * The name of this extension.
16
- */
17
- readonly name = "KHR_materials_ior";
18
- /**
19
- * Defines whether this extension is enabled.
20
- */
21
- enabled: boolean;
22
- /**
23
- * Defines a number that determines the order the extensions are applied.
24
- */
25
- order: number;
26
- private _loader;
27
- /**
28
- * @param loader
29
- * @hidden
30
- */
31
- constructor(loader: GLTFLoader);
32
- /** @hidden */
33
- dispose(): void;
34
- /**
35
- * @param context
36
- * @param material
37
- * @param babylonMaterial
38
- * @hidden
39
- */
40
- loadMaterialPropertiesAsync(context: string, material: IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
41
- private _loadIorPropertiesAsync;
42
- }
1
+ import { Nullable } from "@babylonjs/core/types.js";
2
+ import { Material } from "@babylonjs/core/Materials/material.js";
3
+ import { IMaterial } from "../glTFLoaderInterfaces";
4
+ import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
5
+ import { GLTFLoader } from "../glTFLoader";
6
+ /**
7
+ * [Specification](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_ior)
8
+ */
9
+ export declare class KHR_materials_ior implements IGLTFLoaderExtension {
10
+ /**
11
+ * Default ior Value from the spec.
12
+ */
13
+ private static readonly _DEFAULT_IOR;
14
+ /**
15
+ * The name of this extension.
16
+ */
17
+ readonly name = "KHR_materials_ior";
18
+ /**
19
+ * Defines whether this extension is enabled.
20
+ */
21
+ enabled: boolean;
22
+ /**
23
+ * Defines a number that determines the order the extensions are applied.
24
+ */
25
+ order: number;
26
+ private _loader;
27
+ /**
28
+ * @param loader
29
+ * @hidden
30
+ */
31
+ constructor(loader: GLTFLoader);
32
+ /** @hidden */
33
+ dispose(): void;
34
+ /**
35
+ * @param context
36
+ * @param material
37
+ * @param babylonMaterial
38
+ * @hidden
39
+ */
40
+ loadMaterialPropertiesAsync(context: string, material: IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
41
+ private _loadIorPropertiesAsync;
42
+ }
@@ -1,63 +1,63 @@
1
- import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial.js";
2
- import { GLTFLoader } from "../glTFLoader.js";
3
- var NAME = "KHR_materials_ior";
4
- /**
5
- * [Specification](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_ior)
6
- */
7
- var KHR_materials_ior = /** @class */ (function () {
8
- /**
9
- * @param loader
10
- * @hidden
11
- */
12
- function KHR_materials_ior(loader) {
13
- /**
14
- * The name of this extension.
15
- */
16
- this.name = NAME;
17
- /**
18
- * Defines a number that determines the order the extensions are applied.
19
- */
20
- this.order = 180;
21
- this._loader = loader;
22
- this.enabled = this._loader.isExtensionUsed(NAME);
23
- }
24
- /** @hidden */
25
- KHR_materials_ior.prototype.dispose = function () {
26
- this._loader = null;
27
- };
28
- /**
29
- * @param context
30
- * @param material
31
- * @param babylonMaterial
32
- * @hidden
33
- */
34
- KHR_materials_ior.prototype.loadMaterialPropertiesAsync = function (context, material, babylonMaterial) {
35
- var _this = this;
36
- return GLTFLoader.LoadExtensionAsync(context, material, this.name, function (extensionContext, extension) {
37
- var promises = new Array();
38
- promises.push(_this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));
39
- promises.push(_this._loadIorPropertiesAsync(extensionContext, extension, babylonMaterial));
40
- return Promise.all(promises).then(function () { });
41
- });
42
- };
43
- KHR_materials_ior.prototype._loadIorPropertiesAsync = function (context, properties, babylonMaterial) {
44
- if (!(babylonMaterial instanceof PBRMaterial)) {
45
- throw new Error("".concat(context, ": Material type not supported"));
46
- }
47
- if (properties.ior !== undefined) {
48
- babylonMaterial.indexOfRefraction = properties.ior;
49
- }
50
- else {
51
- babylonMaterial.indexOfRefraction = KHR_materials_ior._DEFAULT_IOR;
52
- }
53
- return Promise.resolve();
54
- };
55
- /**
56
- * Default ior Value from the spec.
57
- */
58
- KHR_materials_ior._DEFAULT_IOR = 1.5;
59
- return KHR_materials_ior;
60
- }());
61
- export { KHR_materials_ior };
62
- GLTFLoader.RegisterExtension(NAME, function (loader) { return new KHR_materials_ior(loader); });
1
+ import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial.js";
2
+ import { GLTFLoader } from "../glTFLoader";
3
+ var NAME = "KHR_materials_ior";
4
+ /**
5
+ * [Specification](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_ior)
6
+ */
7
+ var KHR_materials_ior = /** @class */ (function () {
8
+ /**
9
+ * @param loader
10
+ * @hidden
11
+ */
12
+ function KHR_materials_ior(loader) {
13
+ /**
14
+ * The name of this extension.
15
+ */
16
+ this.name = NAME;
17
+ /**
18
+ * Defines a number that determines the order the extensions are applied.
19
+ */
20
+ this.order = 180;
21
+ this._loader = loader;
22
+ this.enabled = this._loader.isExtensionUsed(NAME);
23
+ }
24
+ /** @hidden */
25
+ KHR_materials_ior.prototype.dispose = function () {
26
+ this._loader = null;
27
+ };
28
+ /**
29
+ * @param context
30
+ * @param material
31
+ * @param babylonMaterial
32
+ * @hidden
33
+ */
34
+ KHR_materials_ior.prototype.loadMaterialPropertiesAsync = function (context, material, babylonMaterial) {
35
+ var _this = this;
36
+ return GLTFLoader.LoadExtensionAsync(context, material, this.name, function (extensionContext, extension) {
37
+ var promises = new Array();
38
+ promises.push(_this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));
39
+ promises.push(_this._loadIorPropertiesAsync(extensionContext, extension, babylonMaterial));
40
+ return Promise.all(promises).then(function () { });
41
+ });
42
+ };
43
+ KHR_materials_ior.prototype._loadIorPropertiesAsync = function (context, properties, babylonMaterial) {
44
+ if (!(babylonMaterial instanceof PBRMaterial)) {
45
+ throw new Error("".concat(context, ": Material type not supported"));
46
+ }
47
+ if (properties.ior !== undefined) {
48
+ babylonMaterial.indexOfRefraction = properties.ior;
49
+ }
50
+ else {
51
+ babylonMaterial.indexOfRefraction = KHR_materials_ior._DEFAULT_IOR;
52
+ }
53
+ return Promise.resolve();
54
+ };
55
+ /**
56
+ * Default ior Value from the spec.
57
+ */
58
+ KHR_materials_ior._DEFAULT_IOR = 1.5;
59
+ return KHR_materials_ior;
60
+ }());
61
+ export { KHR_materials_ior };
62
+ GLTFLoader.RegisterExtension(NAME, function (loader) { return new KHR_materials_ior(loader); });
63
63
  //# sourceMappingURL=KHR_materials_ior.js.map
@@ -1,38 +1,38 @@
1
- import { Nullable } from "@babylonjs/core/types.js";
2
- import { Material } from "@babylonjs/core/Materials/material.js";
3
- import { IMaterial } from "../glTFLoaderInterfaces";
4
- import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
5
- import { GLTFLoader } from "../glTFLoader";
6
- /**
7
- * [Specification](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_pbrSpecularGlossiness)
8
- */
9
- export declare class KHR_materials_pbrSpecularGlossiness implements IGLTFLoaderExtension {
10
- /**
11
- * The name of this extension.
12
- */
13
- readonly name = "KHR_materials_pbrSpecularGlossiness";
14
- /**
15
- * Defines whether this extension is enabled.
16
- */
17
- enabled: boolean;
18
- /**
19
- * Defines a number that determines the order the extensions are applied.
20
- */
21
- order: number;
22
- private _loader;
23
- /**
24
- * @param loader
25
- * @hidden
26
- */
27
- constructor(loader: GLTFLoader);
28
- /** @hidden */
29
- dispose(): void;
30
- /**
31
- * @param context
32
- * @param material
33
- * @param babylonMaterial
34
- * @hidden
35
- */
36
- loadMaterialPropertiesAsync(context: string, material: IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
37
- private _loadSpecularGlossinessPropertiesAsync;
38
- }
1
+ import { Nullable } from "@babylonjs/core/types.js";
2
+ import { Material } from "@babylonjs/core/Materials/material.js";
3
+ import { IMaterial } from "../glTFLoaderInterfaces";
4
+ import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
5
+ import { GLTFLoader } from "../glTFLoader";
6
+ /**
7
+ * [Specification](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_pbrSpecularGlossiness)
8
+ */
9
+ export declare class KHR_materials_pbrSpecularGlossiness implements IGLTFLoaderExtension {
10
+ /**
11
+ * The name of this extension.
12
+ */
13
+ readonly name = "KHR_materials_pbrSpecularGlossiness";
14
+ /**
15
+ * Defines whether this extension is enabled.
16
+ */
17
+ enabled: boolean;
18
+ /**
19
+ * Defines a number that determines the order the extensions are applied.
20
+ */
21
+ order: number;
22
+ private _loader;
23
+ /**
24
+ * @param loader
25
+ * @hidden
26
+ */
27
+ constructor(loader: GLTFLoader);
28
+ /** @hidden */
29
+ dispose(): void;
30
+ /**
31
+ * @param context
32
+ * @param material
33
+ * @param babylonMaterial
34
+ * @hidden
35
+ */
36
+ loadMaterialPropertiesAsync(context: string, material: IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
37
+ private _loadSpecularGlossinessPropertiesAsync;
38
+ }
@@ -1,81 +1,81 @@
1
- import { Color3 } from "@babylonjs/core/Maths/math.color.js";
2
- import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial.js";
3
- import { GLTFLoader } from "../glTFLoader.js";
4
- var NAME = "KHR_materials_pbrSpecularGlossiness";
5
- /**
6
- * [Specification](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_pbrSpecularGlossiness)
7
- */
8
- var KHR_materials_pbrSpecularGlossiness = /** @class */ (function () {
9
- /**
10
- * @param loader
11
- * @hidden
12
- */
13
- function KHR_materials_pbrSpecularGlossiness(loader) {
14
- /**
15
- * The name of this extension.
16
- */
17
- this.name = NAME;
18
- /**
19
- * Defines a number that determines the order the extensions are applied.
20
- */
21
- this.order = 200;
22
- this._loader = loader;
23
- this.enabled = this._loader.isExtensionUsed(NAME);
24
- }
25
- /** @hidden */
26
- KHR_materials_pbrSpecularGlossiness.prototype.dispose = function () {
27
- this._loader = null;
28
- };
29
- /**
30
- * @param context
31
- * @param material
32
- * @param babylonMaterial
33
- * @hidden
34
- */
35
- KHR_materials_pbrSpecularGlossiness.prototype.loadMaterialPropertiesAsync = function (context, material, babylonMaterial) {
36
- var _this = this;
37
- return GLTFLoader.LoadExtensionAsync(context, material, this.name, function (extensionContext, extension) {
38
- var promises = new Array();
39
- promises.push(_this._loader.loadMaterialBasePropertiesAsync(context, material, babylonMaterial));
40
- promises.push(_this._loadSpecularGlossinessPropertiesAsync(extensionContext, material, extension, babylonMaterial));
41
- _this._loader.loadMaterialAlphaProperties(context, material, babylonMaterial);
42
- return Promise.all(promises).then(function () { });
43
- });
44
- };
45
- KHR_materials_pbrSpecularGlossiness.prototype._loadSpecularGlossinessPropertiesAsync = function (context, material, properties, babylonMaterial) {
46
- if (!(babylonMaterial instanceof PBRMaterial)) {
47
- throw new Error("".concat(context, ": Material type not supported"));
48
- }
49
- var promises = new Array();
50
- babylonMaterial.metallic = null;
51
- babylonMaterial.roughness = null;
52
- if (properties.diffuseFactor) {
53
- babylonMaterial.albedoColor = Color3.FromArray(properties.diffuseFactor);
54
- babylonMaterial.alpha = properties.diffuseFactor[3];
55
- }
56
- else {
57
- babylonMaterial.albedoColor = Color3.White();
58
- }
59
- babylonMaterial.reflectivityColor = properties.specularFactor ? Color3.FromArray(properties.specularFactor) : Color3.White();
60
- babylonMaterial.microSurface = properties.glossinessFactor == undefined ? 1 : properties.glossinessFactor;
61
- if (properties.diffuseTexture) {
62
- promises.push(this._loader.loadTextureInfoAsync("".concat(context, "/diffuseTexture"), properties.diffuseTexture, function (texture) {
63
- texture.name = "".concat(babylonMaterial.name, " (Diffuse)");
64
- babylonMaterial.albedoTexture = texture;
65
- }));
66
- }
67
- if (properties.specularGlossinessTexture) {
68
- promises.push(this._loader.loadTextureInfoAsync("".concat(context, "/specularGlossinessTexture"), properties.specularGlossinessTexture, function (texture) {
69
- texture.name = "".concat(babylonMaterial.name, " (Specular Glossiness)");
70
- babylonMaterial.reflectivityTexture = texture;
71
- }));
72
- babylonMaterial.reflectivityTexture.hasAlpha = true;
73
- babylonMaterial.useMicroSurfaceFromReflectivityMapAlpha = true;
74
- }
75
- return Promise.all(promises).then(function () { });
76
- };
77
- return KHR_materials_pbrSpecularGlossiness;
78
- }());
79
- export { KHR_materials_pbrSpecularGlossiness };
80
- GLTFLoader.RegisterExtension(NAME, function (loader) { return new KHR_materials_pbrSpecularGlossiness(loader); });
1
+ import { Color3 } from "@babylonjs/core/Maths/math.color.js";
2
+ import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial.js";
3
+ import { GLTFLoader } from "../glTFLoader";
4
+ var NAME = "KHR_materials_pbrSpecularGlossiness";
5
+ /**
6
+ * [Specification](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_pbrSpecularGlossiness)
7
+ */
8
+ var KHR_materials_pbrSpecularGlossiness = /** @class */ (function () {
9
+ /**
10
+ * @param loader
11
+ * @hidden
12
+ */
13
+ function KHR_materials_pbrSpecularGlossiness(loader) {
14
+ /**
15
+ * The name of this extension.
16
+ */
17
+ this.name = NAME;
18
+ /**
19
+ * Defines a number that determines the order the extensions are applied.
20
+ */
21
+ this.order = 200;
22
+ this._loader = loader;
23
+ this.enabled = this._loader.isExtensionUsed(NAME);
24
+ }
25
+ /** @hidden */
26
+ KHR_materials_pbrSpecularGlossiness.prototype.dispose = function () {
27
+ this._loader = null;
28
+ };
29
+ /**
30
+ * @param context
31
+ * @param material
32
+ * @param babylonMaterial
33
+ * @hidden
34
+ */
35
+ KHR_materials_pbrSpecularGlossiness.prototype.loadMaterialPropertiesAsync = function (context, material, babylonMaterial) {
36
+ var _this = this;
37
+ return GLTFLoader.LoadExtensionAsync(context, material, this.name, function (extensionContext, extension) {
38
+ var promises = new Array();
39
+ promises.push(_this._loader.loadMaterialBasePropertiesAsync(context, material, babylonMaterial));
40
+ promises.push(_this._loadSpecularGlossinessPropertiesAsync(extensionContext, material, extension, babylonMaterial));
41
+ _this._loader.loadMaterialAlphaProperties(context, material, babylonMaterial);
42
+ return Promise.all(promises).then(function () { });
43
+ });
44
+ };
45
+ KHR_materials_pbrSpecularGlossiness.prototype._loadSpecularGlossinessPropertiesAsync = function (context, material, properties, babylonMaterial) {
46
+ if (!(babylonMaterial instanceof PBRMaterial)) {
47
+ throw new Error("".concat(context, ": Material type not supported"));
48
+ }
49
+ var promises = new Array();
50
+ babylonMaterial.metallic = null;
51
+ babylonMaterial.roughness = null;
52
+ if (properties.diffuseFactor) {
53
+ babylonMaterial.albedoColor = Color3.FromArray(properties.diffuseFactor);
54
+ babylonMaterial.alpha = properties.diffuseFactor[3];
55
+ }
56
+ else {
57
+ babylonMaterial.albedoColor = Color3.White();
58
+ }
59
+ babylonMaterial.reflectivityColor = properties.specularFactor ? Color3.FromArray(properties.specularFactor) : Color3.White();
60
+ babylonMaterial.microSurface = properties.glossinessFactor == undefined ? 1 : properties.glossinessFactor;
61
+ if (properties.diffuseTexture) {
62
+ promises.push(this._loader.loadTextureInfoAsync("".concat(context, "/diffuseTexture"), properties.diffuseTexture, function (texture) {
63
+ texture.name = "".concat(babylonMaterial.name, " (Diffuse)");
64
+ babylonMaterial.albedoTexture = texture;
65
+ }));
66
+ }
67
+ if (properties.specularGlossinessTexture) {
68
+ promises.push(this._loader.loadTextureInfoAsync("".concat(context, "/specularGlossinessTexture"), properties.specularGlossinessTexture, function (texture) {
69
+ texture.name = "".concat(babylonMaterial.name, " (Specular Glossiness)");
70
+ babylonMaterial.reflectivityTexture = texture;
71
+ }));
72
+ babylonMaterial.reflectivityTexture.hasAlpha = true;
73
+ babylonMaterial.useMicroSurfaceFromReflectivityMapAlpha = true;
74
+ }
75
+ return Promise.all(promises).then(function () { });
76
+ };
77
+ return KHR_materials_pbrSpecularGlossiness;
78
+ }());
79
+ export { KHR_materials_pbrSpecularGlossiness };
80
+ GLTFLoader.RegisterExtension(NAME, function (loader) { return new KHR_materials_pbrSpecularGlossiness(loader); });
81
81
  //# sourceMappingURL=KHR_materials_pbrSpecularGlossiness.js.map
@@ -1,39 +1,39 @@
1
- import { Nullable } from "@babylonjs/core/types.js";
2
- import { Material } from "@babylonjs/core/Materials/material.js";
3
- import { IMaterial } from "../glTFLoaderInterfaces";
4
- import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
5
- import { GLTFLoader } from "../glTFLoader";
6
- /**
7
- * [Specification](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_materials_sheen/README.md)
8
- * [Playground Sample](https://www.babylonjs-playground.com/frame.html#BNIZX6#4)
9
- */
10
- export declare class KHR_materials_sheen implements IGLTFLoaderExtension {
11
- /**
12
- * The name of this extension.
13
- */
14
- readonly name = "KHR_materials_sheen";
15
- /**
16
- * Defines whether this extension is enabled.
17
- */
18
- enabled: boolean;
19
- /**
20
- * Defines a number that determines the order the extensions are applied.
21
- */
22
- order: number;
23
- private _loader;
24
- /**
25
- * @param loader
26
- * @hidden
27
- */
28
- constructor(loader: GLTFLoader);
29
- /** @hidden */
30
- dispose(): void;
31
- /**
32
- * @param context
33
- * @param material
34
- * @param babylonMaterial
35
- * @hidden
36
- */
37
- loadMaterialPropertiesAsync(context: string, material: IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
38
- private _loadSheenPropertiesAsync;
39
- }
1
+ import { Nullable } from "@babylonjs/core/types.js";
2
+ import { Material } from "@babylonjs/core/Materials/material.js";
3
+ import { IMaterial } from "../glTFLoaderInterfaces";
4
+ import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
5
+ import { GLTFLoader } from "../glTFLoader";
6
+ /**
7
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_materials_sheen/README.md)
8
+ * [Playground Sample](https://www.babylonjs-playground.com/frame.html#BNIZX6#4)
9
+ */
10
+ export declare class KHR_materials_sheen implements IGLTFLoaderExtension {
11
+ /**
12
+ * The name of this extension.
13
+ */
14
+ readonly name = "KHR_materials_sheen";
15
+ /**
16
+ * Defines whether this extension is enabled.
17
+ */
18
+ enabled: boolean;
19
+ /**
20
+ * Defines a number that determines the order the extensions are applied.
21
+ */
22
+ order: number;
23
+ private _loader;
24
+ /**
25
+ * @param loader
26
+ * @hidden
27
+ */
28
+ constructor(loader: GLTFLoader);
29
+ /** @hidden */
30
+ dispose(): void;
31
+ /**
32
+ * @param context
33
+ * @param material
34
+ * @param babylonMaterial
35
+ * @hidden
36
+ */
37
+ loadMaterialPropertiesAsync(context: string, material: IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
38
+ private _loadSheenPropertiesAsync;
39
+ }