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

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.
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,90 +1,90 @@
1
- import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
2
- import { Color3 } from "@babylonjs/core/Maths/math.color.js";
3
- import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight.js";
4
- import { PointLight } from "@babylonjs/core/Lights/pointLight.js";
5
- import { SpotLight } from "@babylonjs/core/Lights/spotLight.js";
6
- import { Light } from "@babylonjs/core/Lights/light.js";
7
- import { GLTFLoader, ArrayItem } from "../glTFLoader.js";
8
- var NAME = "KHR_lights_punctual";
9
- /**
10
- * [Specification](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_lights_punctual)
11
- */
12
- var KHR_lights = /** @class */ (function () {
13
- /**
14
- * @param loader
15
- * @hidden
16
- */
17
- function KHR_lights(loader) {
18
- /**
19
- * The name of this extension.
20
- */
21
- this.name = NAME;
22
- this._loader = loader;
23
- this.enabled = this._loader.isExtensionUsed(NAME);
24
- }
25
- /** @hidden */
26
- KHR_lights.prototype.dispose = function () {
27
- this._loader = null;
28
- delete this._lights;
29
- };
30
- /** @hidden */
31
- KHR_lights.prototype.onLoading = function () {
32
- var extensions = this._loader.gltf.extensions;
33
- if (extensions && extensions[this.name]) {
34
- var extension = extensions[this.name];
35
- this._lights = extension.lights;
36
- }
37
- };
38
- /**
39
- * @param context
40
- * @param node
41
- * @param assign
42
- * @hidden
43
- */
44
- KHR_lights.prototype.loadNodeAsync = function (context, node, assign) {
45
- var _this = this;
46
- return GLTFLoader.LoadExtensionAsync(context, node, this.name, function (extensionContext, extension) {
47
- return _this._loader.loadNodeAsync(context, node, function (babylonMesh) {
48
- var babylonLight;
49
- var light = ArrayItem.Get(extensionContext, _this._lights, extension.light);
50
- var name = light.name || babylonMesh.name;
51
- _this._loader.babylonScene._blockEntityCollection = !!_this._loader._assetContainer;
52
- switch (light.type) {
53
- case "directional" /* DIRECTIONAL */: {
54
- babylonLight = new DirectionalLight(name, Vector3.Backward(), _this._loader.babylonScene);
55
- break;
56
- }
57
- case "point" /* POINT */: {
58
- babylonLight = new PointLight(name, Vector3.Zero(), _this._loader.babylonScene);
59
- break;
60
- }
61
- case "spot" /* SPOT */: {
62
- var babylonSpotLight = new SpotLight(name, Vector3.Zero(), Vector3.Backward(), 0, 1, _this._loader.babylonScene);
63
- babylonSpotLight.angle = ((light.spot && light.spot.outerConeAngle) || Math.PI / 4) * 2;
64
- babylonSpotLight.innerAngle = ((light.spot && light.spot.innerConeAngle) || 0) * 2;
65
- babylonLight = babylonSpotLight;
66
- break;
67
- }
68
- default: {
69
- _this._loader.babylonScene._blockEntityCollection = false;
70
- throw new Error("".concat(extensionContext, ": Invalid light type (").concat(light.type, ")"));
71
- }
72
- }
73
- babylonLight._parentContainer = _this._loader._assetContainer;
74
- _this._loader.babylonScene._blockEntityCollection = false;
75
- babylonLight.falloffType = Light.FALLOFF_GLTF;
76
- babylonLight.diffuse = light.color ? Color3.FromArray(light.color) : Color3.White();
77
- babylonLight.intensity = light.intensity == undefined ? 1 : light.intensity;
78
- babylonLight.range = light.range == undefined ? Number.MAX_VALUE : light.range;
79
- babylonLight.parent = babylonMesh;
80
- _this._loader._babylonLights.push(babylonLight);
81
- GLTFLoader.AddPointerMetadata(babylonLight, extensionContext);
82
- assign(babylonMesh);
83
- });
84
- });
85
- };
86
- return KHR_lights;
87
- }());
88
- export { KHR_lights };
89
- GLTFLoader.RegisterExtension(NAME, function (loader) { return new KHR_lights(loader); });
1
+ import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
2
+ import { Color3 } from "@babylonjs/core/Maths/math.color.js";
3
+ import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight.js";
4
+ import { PointLight } from "@babylonjs/core/Lights/pointLight.js";
5
+ import { SpotLight } from "@babylonjs/core/Lights/spotLight.js";
6
+ import { Light } from "@babylonjs/core/Lights/light.js";
7
+ import { GLTFLoader, ArrayItem } from "../glTFLoader";
8
+ var NAME = "KHR_lights_punctual";
9
+ /**
10
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_lights_punctual)
11
+ */
12
+ var KHR_lights = /** @class */ (function () {
13
+ /**
14
+ * @param loader
15
+ * @hidden
16
+ */
17
+ function KHR_lights(loader) {
18
+ /**
19
+ * The name of this extension.
20
+ */
21
+ this.name = NAME;
22
+ this._loader = loader;
23
+ this.enabled = this._loader.isExtensionUsed(NAME);
24
+ }
25
+ /** @hidden */
26
+ KHR_lights.prototype.dispose = function () {
27
+ this._loader = null;
28
+ delete this._lights;
29
+ };
30
+ /** @hidden */
31
+ KHR_lights.prototype.onLoading = function () {
32
+ var extensions = this._loader.gltf.extensions;
33
+ if (extensions && extensions[this.name]) {
34
+ var extension = extensions[this.name];
35
+ this._lights = extension.lights;
36
+ }
37
+ };
38
+ /**
39
+ * @param context
40
+ * @param node
41
+ * @param assign
42
+ * @hidden
43
+ */
44
+ KHR_lights.prototype.loadNodeAsync = function (context, node, assign) {
45
+ var _this = this;
46
+ return GLTFLoader.LoadExtensionAsync(context, node, this.name, function (extensionContext, extension) {
47
+ return _this._loader.loadNodeAsync(context, node, function (babylonMesh) {
48
+ var babylonLight;
49
+ var light = ArrayItem.Get(extensionContext, _this._lights, extension.light);
50
+ var name = light.name || babylonMesh.name;
51
+ _this._loader.babylonScene._blockEntityCollection = !!_this._loader._assetContainer;
52
+ switch (light.type) {
53
+ case "directional" /* DIRECTIONAL */: {
54
+ babylonLight = new DirectionalLight(name, Vector3.Backward(), _this._loader.babylonScene);
55
+ break;
56
+ }
57
+ case "point" /* POINT */: {
58
+ babylonLight = new PointLight(name, Vector3.Zero(), _this._loader.babylonScene);
59
+ break;
60
+ }
61
+ case "spot" /* SPOT */: {
62
+ var babylonSpotLight = new SpotLight(name, Vector3.Zero(), Vector3.Backward(), 0, 1, _this._loader.babylonScene);
63
+ babylonSpotLight.angle = ((light.spot && light.spot.outerConeAngle) || Math.PI / 4) * 2;
64
+ babylonSpotLight.innerAngle = ((light.spot && light.spot.innerConeAngle) || 0) * 2;
65
+ babylonLight = babylonSpotLight;
66
+ break;
67
+ }
68
+ default: {
69
+ _this._loader.babylonScene._blockEntityCollection = false;
70
+ throw new Error("".concat(extensionContext, ": Invalid light type (").concat(light.type, ")"));
71
+ }
72
+ }
73
+ babylonLight._parentContainer = _this._loader._assetContainer;
74
+ _this._loader.babylonScene._blockEntityCollection = false;
75
+ babylonLight.falloffType = Light.FALLOFF_GLTF;
76
+ babylonLight.diffuse = light.color ? Color3.FromArray(light.color) : Color3.White();
77
+ babylonLight.intensity = light.intensity == undefined ? 1 : light.intensity;
78
+ babylonLight.range = light.range == undefined ? Number.MAX_VALUE : light.range;
79
+ babylonLight.parent = babylonMesh;
80
+ _this._loader._babylonLights.push(babylonLight);
81
+ GLTFLoader.AddPointerMetadata(babylonLight, extensionContext);
82
+ assign(babylonMesh);
83
+ });
84
+ });
85
+ };
86
+ return KHR_lights;
87
+ }());
88
+ export { KHR_lights };
89
+ GLTFLoader.RegisterExtension(NAME, function (loader) { return new KHR_lights(loader); });
90
90
  //# sourceMappingURL=KHR_lights_punctual.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_clearcoat/README.md)
8
- * [Playground Sample](https://www.babylonjs-playground.com/frame.html#7F7PN6#8)
9
- */
10
- export declare class KHR_materials_clearcoat implements IGLTFLoaderExtension {
11
- /**
12
- * The name of this extension.
13
- */
14
- readonly name = "KHR_materials_clearcoat";
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 _loadClearCoatPropertiesAsync;
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_clearcoat/README.md)
8
+ * [Playground Sample](https://www.babylonjs-playground.com/frame.html#7F7PN6#8)
9
+ */
10
+ export declare class KHR_materials_clearcoat implements IGLTFLoaderExtension {
11
+ /**
12
+ * The name of this extension.
13
+ */
14
+ readonly name = "KHR_materials_clearcoat";
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 _loadClearCoatPropertiesAsync;
39
+ }
@@ -1,95 +1,95 @@
1
- import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial.js";
2
- import { GLTFLoader } from "../glTFLoader.js";
3
- var NAME = "KHR_materials_clearcoat";
4
- /**
5
- * [Specification](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_materials_clearcoat/README.md)
6
- * [Playground Sample](https://www.babylonjs-playground.com/frame.html#7F7PN6#8)
7
- */
8
- var KHR_materials_clearcoat = /** @class */ (function () {
9
- /**
10
- * @param loader
11
- * @hidden
12
- */
13
- function KHR_materials_clearcoat(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 = 190;
22
- this._loader = loader;
23
- this.enabled = this._loader.isExtensionUsed(NAME);
24
- }
25
- /** @hidden */
26
- KHR_materials_clearcoat.prototype.dispose = function () {
27
- this._loader = null;
28
- };
29
- /**
30
- * @param context
31
- * @param material
32
- * @param babylonMaterial
33
- * @hidden
34
- */
35
- KHR_materials_clearcoat.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.loadMaterialPropertiesAsync(context, material, babylonMaterial));
40
- promises.push(_this._loadClearCoatPropertiesAsync(extensionContext, extension, babylonMaterial));
41
- return Promise.all(promises).then(function () { });
42
- });
43
- };
44
- KHR_materials_clearcoat.prototype._loadClearCoatPropertiesAsync = function (context, properties, babylonMaterial) {
45
- if (!(babylonMaterial instanceof PBRMaterial)) {
46
- throw new Error("".concat(context, ": Material type not supported"));
47
- }
48
- var promises = new Array();
49
- babylonMaterial.clearCoat.isEnabled = true;
50
- babylonMaterial.clearCoat.useRoughnessFromMainTexture = false;
51
- babylonMaterial.clearCoat.remapF0OnInterfaceChange = false;
52
- if (properties.clearcoatFactor != undefined) {
53
- babylonMaterial.clearCoat.intensity = properties.clearcoatFactor;
54
- }
55
- else {
56
- babylonMaterial.clearCoat.intensity = 0;
57
- }
58
- if (properties.clearcoatTexture) {
59
- promises.push(this._loader.loadTextureInfoAsync("".concat(context, "/clearcoatTexture"), properties.clearcoatTexture, function (texture) {
60
- texture.name = "".concat(babylonMaterial.name, " (ClearCoat Intensity)");
61
- babylonMaterial.clearCoat.texture = texture;
62
- }));
63
- }
64
- if (properties.clearcoatRoughnessFactor != undefined) {
65
- babylonMaterial.clearCoat.roughness = properties.clearcoatRoughnessFactor;
66
- }
67
- else {
68
- babylonMaterial.clearCoat.roughness = 0;
69
- }
70
- if (properties.clearcoatRoughnessTexture) {
71
- properties.clearcoatRoughnessTexture.nonColorData = true;
72
- promises.push(this._loader.loadTextureInfoAsync("".concat(context, "/clearcoatRoughnessTexture"), properties.clearcoatRoughnessTexture, function (texture) {
73
- texture.name = "".concat(babylonMaterial.name, " (ClearCoat Roughness)");
74
- babylonMaterial.clearCoat.textureRoughness = texture;
75
- }));
76
- }
77
- if (properties.clearcoatNormalTexture) {
78
- properties.clearcoatNormalTexture.nonColorData = true;
79
- promises.push(this._loader.loadTextureInfoAsync("".concat(context, "/clearcoatNormalTexture"), properties.clearcoatNormalTexture, function (texture) {
80
- texture.name = "".concat(babylonMaterial.name, " (ClearCoat Normal)");
81
- babylonMaterial.clearCoat.bumpTexture = texture;
82
- }));
83
- babylonMaterial.invertNormalMapX = !babylonMaterial.getScene().useRightHandedSystem;
84
- babylonMaterial.invertNormalMapY = babylonMaterial.getScene().useRightHandedSystem;
85
- if (properties.clearcoatNormalTexture.scale != undefined) {
86
- babylonMaterial.clearCoat.bumpTexture.level = properties.clearcoatNormalTexture.scale;
87
- }
88
- }
89
- return Promise.all(promises).then(function () { });
90
- };
91
- return KHR_materials_clearcoat;
92
- }());
93
- export { KHR_materials_clearcoat };
94
- GLTFLoader.RegisterExtension(NAME, function (loader) { return new KHR_materials_clearcoat(loader); });
1
+ import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial.js";
2
+ import { GLTFLoader } from "../glTFLoader";
3
+ var NAME = "KHR_materials_clearcoat";
4
+ /**
5
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_materials_clearcoat/README.md)
6
+ * [Playground Sample](https://www.babylonjs-playground.com/frame.html#7F7PN6#8)
7
+ */
8
+ var KHR_materials_clearcoat = /** @class */ (function () {
9
+ /**
10
+ * @param loader
11
+ * @hidden
12
+ */
13
+ function KHR_materials_clearcoat(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 = 190;
22
+ this._loader = loader;
23
+ this.enabled = this._loader.isExtensionUsed(NAME);
24
+ }
25
+ /** @hidden */
26
+ KHR_materials_clearcoat.prototype.dispose = function () {
27
+ this._loader = null;
28
+ };
29
+ /**
30
+ * @param context
31
+ * @param material
32
+ * @param babylonMaterial
33
+ * @hidden
34
+ */
35
+ KHR_materials_clearcoat.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.loadMaterialPropertiesAsync(context, material, babylonMaterial));
40
+ promises.push(_this._loadClearCoatPropertiesAsync(extensionContext, extension, babylonMaterial));
41
+ return Promise.all(promises).then(function () { });
42
+ });
43
+ };
44
+ KHR_materials_clearcoat.prototype._loadClearCoatPropertiesAsync = function (context, properties, babylonMaterial) {
45
+ if (!(babylonMaterial instanceof PBRMaterial)) {
46
+ throw new Error("".concat(context, ": Material type not supported"));
47
+ }
48
+ var promises = new Array();
49
+ babylonMaterial.clearCoat.isEnabled = true;
50
+ babylonMaterial.clearCoat.useRoughnessFromMainTexture = false;
51
+ babylonMaterial.clearCoat.remapF0OnInterfaceChange = false;
52
+ if (properties.clearcoatFactor != undefined) {
53
+ babylonMaterial.clearCoat.intensity = properties.clearcoatFactor;
54
+ }
55
+ else {
56
+ babylonMaterial.clearCoat.intensity = 0;
57
+ }
58
+ if (properties.clearcoatTexture) {
59
+ promises.push(this._loader.loadTextureInfoAsync("".concat(context, "/clearcoatTexture"), properties.clearcoatTexture, function (texture) {
60
+ texture.name = "".concat(babylonMaterial.name, " (ClearCoat Intensity)");
61
+ babylonMaterial.clearCoat.texture = texture;
62
+ }));
63
+ }
64
+ if (properties.clearcoatRoughnessFactor != undefined) {
65
+ babylonMaterial.clearCoat.roughness = properties.clearcoatRoughnessFactor;
66
+ }
67
+ else {
68
+ babylonMaterial.clearCoat.roughness = 0;
69
+ }
70
+ if (properties.clearcoatRoughnessTexture) {
71
+ properties.clearcoatRoughnessTexture.nonColorData = true;
72
+ promises.push(this._loader.loadTextureInfoAsync("".concat(context, "/clearcoatRoughnessTexture"), properties.clearcoatRoughnessTexture, function (texture) {
73
+ texture.name = "".concat(babylonMaterial.name, " (ClearCoat Roughness)");
74
+ babylonMaterial.clearCoat.textureRoughness = texture;
75
+ }));
76
+ }
77
+ if (properties.clearcoatNormalTexture) {
78
+ properties.clearcoatNormalTexture.nonColorData = true;
79
+ promises.push(this._loader.loadTextureInfoAsync("".concat(context, "/clearcoatNormalTexture"), properties.clearcoatNormalTexture, function (texture) {
80
+ texture.name = "".concat(babylonMaterial.name, " (ClearCoat Normal)");
81
+ babylonMaterial.clearCoat.bumpTexture = texture;
82
+ }));
83
+ babylonMaterial.invertNormalMapX = !babylonMaterial.getScene().useRightHandedSystem;
84
+ babylonMaterial.invertNormalMapY = babylonMaterial.getScene().useRightHandedSystem;
85
+ if (properties.clearcoatNormalTexture.scale != undefined) {
86
+ babylonMaterial.clearCoat.bumpTexture.level = properties.clearcoatNormalTexture.scale;
87
+ }
88
+ }
89
+ return Promise.all(promises).then(function () { });
90
+ };
91
+ return KHR_materials_clearcoat;
92
+ }());
93
+ export { KHR_materials_clearcoat };
94
+ GLTFLoader.RegisterExtension(NAME, function (loader) { return new KHR_materials_clearcoat(loader); });
95
95
  //# sourceMappingURL=KHR_materials_clearcoat.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
- * [Experimental Spec](https://github.com/KhronosGroup/glTF/pull/1994)
8
- */
9
- export declare class KHR_materials_emissive_strength implements IGLTFLoaderExtension {
10
- /**
11
- * The name of this extension.
12
- */
13
- readonly name = "KHR_materials_emissive_strength";
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 _loadEmissiveProperties;
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
+ * [Experimental Spec](https://github.com/KhronosGroup/glTF/pull/1994)
8
+ */
9
+ export declare class KHR_materials_emissive_strength implements IGLTFLoaderExtension {
10
+ /**
11
+ * The name of this extension.
12
+ */
13
+ readonly name = "KHR_materials_emissive_strength";
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 _loadEmissiveProperties;
38
+ }
@@ -1,54 +1,54 @@
1
- import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial.js";
2
- import { GLTFLoader } from "../glTFLoader.js";
3
- var NAME = "KHR_materials_emissive_strength";
4
- /**
5
- * [Experimental Spec](https://github.com/KhronosGroup/glTF/pull/1994)
6
- */
7
- var KHR_materials_emissive_strength = /** @class */ (function () {
8
- /**
9
- * @param loader
10
- * @hidden
11
- */
12
- function KHR_materials_emissive_strength(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 = 170;
21
- this._loader = loader;
22
- this.enabled = this._loader.isExtensionUsed(NAME);
23
- }
24
- /** @hidden */
25
- KHR_materials_emissive_strength.prototype.dispose = function () {
26
- this._loader = null;
27
- };
28
- /**
29
- * @param context
30
- * @param material
31
- * @param babylonMaterial
32
- * @hidden
33
- */
34
- KHR_materials_emissive_strength.prototype.loadMaterialPropertiesAsync = function (context, material, babylonMaterial) {
35
- var _this = this;
36
- return GLTFLoader.LoadExtensionAsync(context, material, this.name, function (extensionContext, extension) {
37
- return _this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial).then(function () {
38
- _this._loadEmissiveProperties(extensionContext, extension, babylonMaterial);
39
- });
40
- });
41
- };
42
- KHR_materials_emissive_strength.prototype._loadEmissiveProperties = function (context, properties, babylonMaterial) {
43
- if (!(babylonMaterial instanceof PBRMaterial)) {
44
- throw new Error("".concat(context, ": Material type not supported"));
45
- }
46
- if (properties.emissiveStrength !== undefined) {
47
- babylonMaterial.emissiveColor.scaleToRef(properties.emissiveStrength, babylonMaterial.emissiveColor);
48
- }
49
- };
50
- return KHR_materials_emissive_strength;
51
- }());
52
- export { KHR_materials_emissive_strength };
53
- GLTFLoader.RegisterExtension(NAME, function (loader) { return new KHR_materials_emissive_strength(loader); });
1
+ import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial.js";
2
+ import { GLTFLoader } from "../glTFLoader";
3
+ var NAME = "KHR_materials_emissive_strength";
4
+ /**
5
+ * [Experimental Spec](https://github.com/KhronosGroup/glTF/pull/1994)
6
+ */
7
+ var KHR_materials_emissive_strength = /** @class */ (function () {
8
+ /**
9
+ * @param loader
10
+ * @hidden
11
+ */
12
+ function KHR_materials_emissive_strength(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 = 170;
21
+ this._loader = loader;
22
+ this.enabled = this._loader.isExtensionUsed(NAME);
23
+ }
24
+ /** @hidden */
25
+ KHR_materials_emissive_strength.prototype.dispose = function () {
26
+ this._loader = null;
27
+ };
28
+ /**
29
+ * @param context
30
+ * @param material
31
+ * @param babylonMaterial
32
+ * @hidden
33
+ */
34
+ KHR_materials_emissive_strength.prototype.loadMaterialPropertiesAsync = function (context, material, babylonMaterial) {
35
+ var _this = this;
36
+ return GLTFLoader.LoadExtensionAsync(context, material, this.name, function (extensionContext, extension) {
37
+ return _this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial).then(function () {
38
+ _this._loadEmissiveProperties(extensionContext, extension, babylonMaterial);
39
+ });
40
+ });
41
+ };
42
+ KHR_materials_emissive_strength.prototype._loadEmissiveProperties = function (context, properties, babylonMaterial) {
43
+ if (!(babylonMaterial instanceof PBRMaterial)) {
44
+ throw new Error("".concat(context, ": Material type not supported"));
45
+ }
46
+ if (properties.emissiveStrength !== undefined) {
47
+ babylonMaterial.emissiveColor.scaleToRef(properties.emissiveStrength, babylonMaterial.emissiveColor);
48
+ }
49
+ };
50
+ return KHR_materials_emissive_strength;
51
+ }());
52
+ export { KHR_materials_emissive_strength };
53
+ GLTFLoader.RegisterExtension(NAME, function (loader) { return new KHR_materials_emissive_strength(loader); });
54
54
  //# sourceMappingURL=KHR_materials_emissive_strength.js.map