@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,36 +1,36 @@
1
- import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
2
- import { Nullable } from "@babylonjs/core/types.js";
3
- import { GLTFLoader } from "../glTFLoader";
4
- import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
5
- import { INode } from "../glTFLoaderInterfaces";
6
- import "@babylonjs/core/Meshes/thinInstanceMesh.js";
7
- /**
8
- * [Proposed Specification](https://github.com/KhronosGroup/glTF/pull/1691)
9
- * [Playground Sample](https://playground.babylonjs.com/#QFIGLW#9)
10
- * !!! Experimental Extension Subject to Changes !!!
11
- */
12
- export declare class EXT_mesh_gpu_instancing implements IGLTFLoaderExtension {
13
- /**
14
- * The name of this extension.
15
- */
16
- readonly name = "EXT_mesh_gpu_instancing";
17
- /**
18
- * Defines whether this extension is enabled.
19
- */
20
- enabled: boolean;
21
- private _loader;
22
- /**
23
- * @param loader
24
- * @hidden
25
- */
26
- constructor(loader: GLTFLoader);
27
- /** @hidden */
28
- dispose(): void;
29
- /**
30
- * @param context
31
- * @param node
32
- * @param assign
33
- * @hidden
34
- */
35
- loadNodeAsync(context: string, node: INode, assign: (babylonTransformNode: TransformNode) => void): Nullable<Promise<TransformNode>>;
36
- }
1
+ import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
2
+ import { Nullable } from "@babylonjs/core/types.js";
3
+ import { GLTFLoader } from "../glTFLoader";
4
+ import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
5
+ import { INode } from "../glTFLoaderInterfaces";
6
+ import "@babylonjs/core/Meshes/thinInstanceMesh.js";
7
+ /**
8
+ * [Proposed Specification](https://github.com/KhronosGroup/glTF/pull/1691)
9
+ * [Playground Sample](https://playground.babylonjs.com/#QFIGLW#9)
10
+ * !!! Experimental Extension Subject to Changes !!!
11
+ */
12
+ export declare class EXT_mesh_gpu_instancing implements IGLTFLoaderExtension {
13
+ /**
14
+ * The name of this extension.
15
+ */
16
+ readonly name = "EXT_mesh_gpu_instancing";
17
+ /**
18
+ * Defines whether this extension is enabled.
19
+ */
20
+ enabled: boolean;
21
+ private _loader;
22
+ /**
23
+ * @param loader
24
+ * @hidden
25
+ */
26
+ constructor(loader: GLTFLoader);
27
+ /** @hidden */
28
+ dispose(): void;
29
+ /**
30
+ * @param context
31
+ * @param node
32
+ * @param assign
33
+ * @hidden
34
+ */
35
+ loadNodeAsync(context: string, node: INode, assign: (babylonTransformNode: TransformNode) => void): Nullable<Promise<TransformNode>>;
36
+ }
@@ -1,89 +1,89 @@
1
- /* eslint-disable @typescript-eslint/naming-convention */
2
- import { Vector3, Quaternion, Matrix, TmpVectors } from "@babylonjs/core/Maths/math.vector.js";
3
- import { GLTFLoader, ArrayItem } from "../glTFLoader.js";
4
- import "@babylonjs/core/Meshes/thinInstanceMesh.js";
5
- var NAME = "EXT_mesh_gpu_instancing";
6
- /**
7
- * [Proposed Specification](https://github.com/KhronosGroup/glTF/pull/1691)
8
- * [Playground Sample](https://playground.babylonjs.com/#QFIGLW#9)
9
- * !!! Experimental Extension Subject to Changes !!!
10
- */
11
- var EXT_mesh_gpu_instancing = /** @class */ (function () {
12
- /**
13
- * @param loader
14
- * @hidden
15
- */
16
- function EXT_mesh_gpu_instancing(loader) {
17
- /**
18
- * The name of this extension.
19
- */
20
- this.name = NAME;
21
- this._loader = loader;
22
- this.enabled = this._loader.isExtensionUsed(NAME);
23
- }
24
- /** @hidden */
25
- EXT_mesh_gpu_instancing.prototype.dispose = function () {
26
- this._loader = null;
27
- };
28
- /**
29
- * @param context
30
- * @param node
31
- * @param assign
32
- * @hidden
33
- */
34
- EXT_mesh_gpu_instancing.prototype.loadNodeAsync = function (context, node, assign) {
35
- var _this = this;
36
- return GLTFLoader.LoadExtensionAsync(context, node, this.name, function (extensionContext, extension) {
37
- _this._loader._disableInstancedMesh++;
38
- var promise = _this._loader.loadNodeAsync("/nodes/".concat(node.index), node, assign);
39
- _this._loader._disableInstancedMesh--;
40
- if (!node._primitiveBabylonMeshes) {
41
- return promise;
42
- }
43
- var promises = new Array();
44
- var instanceCount = 0;
45
- var loadAttribute = function (attribute) {
46
- if (extension.attributes[attribute] == undefined) {
47
- promises.push(Promise.resolve(null));
48
- return;
49
- }
50
- var accessor = ArrayItem.Get("".concat(extensionContext, "/attributes/").concat(attribute), _this._loader.gltf.accessors, extension.attributes[attribute]);
51
- promises.push(_this._loader._loadFloatAccessorAsync("/accessors/".concat(accessor.bufferView), accessor));
52
- if (instanceCount === 0) {
53
- instanceCount = accessor.count;
54
- }
55
- else if (instanceCount !== accessor.count) {
56
- throw new Error("".concat(extensionContext, "/attributes: Instance buffer accessors do not have the same count."));
57
- }
58
- };
59
- loadAttribute("TRANSLATION");
60
- loadAttribute("ROTATION");
61
- loadAttribute("SCALE");
62
- return promise.then(function (babylonTransformNode) {
63
- return Promise.all(promises).then(function (_a) {
64
- var translationBuffer = _a[0], rotationBuffer = _a[1], scaleBuffer = _a[2];
65
- var matrices = new Float32Array(instanceCount * 16);
66
- TmpVectors.Vector3[0].copyFromFloats(0, 0, 0); // translation
67
- TmpVectors.Quaternion[0].copyFromFloats(0, 0, 0, 1); // rotation
68
- TmpVectors.Vector3[1].copyFromFloats(1, 1, 1); // scale
69
- for (var i = 0; i < instanceCount; ++i) {
70
- translationBuffer && Vector3.FromArrayToRef(translationBuffer, i * 3, TmpVectors.Vector3[0]);
71
- rotationBuffer && Quaternion.FromArrayToRef(rotationBuffer, i * 4, TmpVectors.Quaternion[0]);
72
- scaleBuffer && Vector3.FromArrayToRef(scaleBuffer, i * 3, TmpVectors.Vector3[1]);
73
- Matrix.ComposeToRef(TmpVectors.Vector3[1], TmpVectors.Quaternion[0], TmpVectors.Vector3[0], TmpVectors.Matrix[0]);
74
- TmpVectors.Matrix[0].copyToArray(matrices, i * 16);
75
- }
76
- for (var _i = 0, _b = node._primitiveBabylonMeshes; _i < _b.length; _i++) {
77
- var babylonMesh = _b[_i];
78
- babylonMesh.thinInstanceSetBuffer("matrix", matrices, 16, true);
79
- }
80
- return babylonTransformNode;
81
- });
82
- });
83
- });
84
- };
85
- return EXT_mesh_gpu_instancing;
86
- }());
87
- export { EXT_mesh_gpu_instancing };
88
- GLTFLoader.RegisterExtension(NAME, function (loader) { return new EXT_mesh_gpu_instancing(loader); });
1
+ /* eslint-disable @typescript-eslint/naming-convention */
2
+ import { Vector3, Quaternion, Matrix, TmpVectors } from "@babylonjs/core/Maths/math.vector.js";
3
+ import { GLTFLoader, ArrayItem } from "../glTFLoader";
4
+ import "@babylonjs/core/Meshes/thinInstanceMesh.js";
5
+ var NAME = "EXT_mesh_gpu_instancing";
6
+ /**
7
+ * [Proposed Specification](https://github.com/KhronosGroup/glTF/pull/1691)
8
+ * [Playground Sample](https://playground.babylonjs.com/#QFIGLW#9)
9
+ * !!! Experimental Extension Subject to Changes !!!
10
+ */
11
+ var EXT_mesh_gpu_instancing = /** @class */ (function () {
12
+ /**
13
+ * @param loader
14
+ * @hidden
15
+ */
16
+ function EXT_mesh_gpu_instancing(loader) {
17
+ /**
18
+ * The name of this extension.
19
+ */
20
+ this.name = NAME;
21
+ this._loader = loader;
22
+ this.enabled = this._loader.isExtensionUsed(NAME);
23
+ }
24
+ /** @hidden */
25
+ EXT_mesh_gpu_instancing.prototype.dispose = function () {
26
+ this._loader = null;
27
+ };
28
+ /**
29
+ * @param context
30
+ * @param node
31
+ * @param assign
32
+ * @hidden
33
+ */
34
+ EXT_mesh_gpu_instancing.prototype.loadNodeAsync = function (context, node, assign) {
35
+ var _this = this;
36
+ return GLTFLoader.LoadExtensionAsync(context, node, this.name, function (extensionContext, extension) {
37
+ _this._loader._disableInstancedMesh++;
38
+ var promise = _this._loader.loadNodeAsync("/nodes/".concat(node.index), node, assign);
39
+ _this._loader._disableInstancedMesh--;
40
+ if (!node._primitiveBabylonMeshes) {
41
+ return promise;
42
+ }
43
+ var promises = new Array();
44
+ var instanceCount = 0;
45
+ var loadAttribute = function (attribute) {
46
+ if (extension.attributes[attribute] == undefined) {
47
+ promises.push(Promise.resolve(null));
48
+ return;
49
+ }
50
+ var accessor = ArrayItem.Get("".concat(extensionContext, "/attributes/").concat(attribute), _this._loader.gltf.accessors, extension.attributes[attribute]);
51
+ promises.push(_this._loader._loadFloatAccessorAsync("/accessors/".concat(accessor.bufferView), accessor));
52
+ if (instanceCount === 0) {
53
+ instanceCount = accessor.count;
54
+ }
55
+ else if (instanceCount !== accessor.count) {
56
+ throw new Error("".concat(extensionContext, "/attributes: Instance buffer accessors do not have the same count."));
57
+ }
58
+ };
59
+ loadAttribute("TRANSLATION");
60
+ loadAttribute("ROTATION");
61
+ loadAttribute("SCALE");
62
+ return promise.then(function (babylonTransformNode) {
63
+ return Promise.all(promises).then(function (_a) {
64
+ var translationBuffer = _a[0], rotationBuffer = _a[1], scaleBuffer = _a[2];
65
+ var matrices = new Float32Array(instanceCount * 16);
66
+ TmpVectors.Vector3[0].copyFromFloats(0, 0, 0); // translation
67
+ TmpVectors.Quaternion[0].copyFromFloats(0, 0, 0, 1); // rotation
68
+ TmpVectors.Vector3[1].copyFromFloats(1, 1, 1); // scale
69
+ for (var i = 0; i < instanceCount; ++i) {
70
+ translationBuffer && Vector3.FromArrayToRef(translationBuffer, i * 3, TmpVectors.Vector3[0]);
71
+ rotationBuffer && Quaternion.FromArrayToRef(rotationBuffer, i * 4, TmpVectors.Quaternion[0]);
72
+ scaleBuffer && Vector3.FromArrayToRef(scaleBuffer, i * 3, TmpVectors.Vector3[1]);
73
+ Matrix.ComposeToRef(TmpVectors.Vector3[1], TmpVectors.Quaternion[0], TmpVectors.Vector3[0], TmpVectors.Matrix[0]);
74
+ TmpVectors.Matrix[0].copyToArray(matrices, i * 16);
75
+ }
76
+ for (var _i = 0, _b = node._primitiveBabylonMeshes; _i < _b.length; _i++) {
77
+ var babylonMesh = _b[_i];
78
+ babylonMesh.thinInstanceSetBuffer("matrix", matrices, 16, true);
79
+ }
80
+ return babylonTransformNode;
81
+ });
82
+ });
83
+ });
84
+ };
85
+ return EXT_mesh_gpu_instancing;
86
+ }());
87
+ export { EXT_mesh_gpu_instancing };
88
+ GLTFLoader.RegisterExtension(NAME, function (loader) { return new EXT_mesh_gpu_instancing(loader); });
89
89
  //# sourceMappingURL=EXT_mesh_gpu_instancing.js.map
@@ -1,34 +1,34 @@
1
- import { Nullable } from "@babylonjs/core/types.js";
2
- import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
3
- import { GLTFLoader } from "../glTFLoader";
4
- import { IBufferView } from "../glTFLoaderInterfaces";
5
- /**
6
- * [Specification](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_meshopt_compression)
7
- *
8
- * This extension uses a WebAssembly decoder module from https://github.com/zeux/meshoptimizer/tree/master/js
9
- * @since 5.0.0
10
- */
11
- export declare class EXT_meshopt_compression implements IGLTFLoaderExtension {
12
- /**
13
- * The name of this extension.
14
- */
15
- readonly name = "EXT_meshopt_compression";
16
- /**
17
- * Defines whether this extension is enabled.
18
- */
19
- enabled: boolean;
20
- private _loader;
21
- /**
22
- * @param loader
23
- * @hidden
24
- */
25
- constructor(loader: GLTFLoader);
26
- /** @hidden */
27
- dispose(): void;
28
- /**
29
- * @param context
30
- * @param bufferView
31
- * @hidden
32
- */
33
- loadBufferViewAsync(context: string, bufferView: IBufferView): Nullable<Promise<ArrayBufferView>>;
34
- }
1
+ import { Nullable } from "@babylonjs/core/types.js";
2
+ import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
3
+ import { GLTFLoader } from "../glTFLoader";
4
+ import { IBufferView } from "../glTFLoaderInterfaces";
5
+ /**
6
+ * [Specification](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_meshopt_compression)
7
+ *
8
+ * This extension uses a WebAssembly decoder module from https://github.com/zeux/meshoptimizer/tree/master/js
9
+ * @since 5.0.0
10
+ */
11
+ export declare class EXT_meshopt_compression implements IGLTFLoaderExtension {
12
+ /**
13
+ * The name of this extension.
14
+ */
15
+ readonly name = "EXT_meshopt_compression";
16
+ /**
17
+ * Defines whether this extension is enabled.
18
+ */
19
+ enabled: boolean;
20
+ private _loader;
21
+ /**
22
+ * @param loader
23
+ * @hidden
24
+ */
25
+ constructor(loader: GLTFLoader);
26
+ /** @hidden */
27
+ dispose(): void;
28
+ /**
29
+ * @param context
30
+ * @param bufferView
31
+ * @hidden
32
+ */
33
+ loadBufferViewAsync(context: string, bufferView: IBufferView): Nullable<Promise<ArrayBufferView>>;
34
+ }
@@ -1,50 +1,50 @@
1
- import { ArrayItem, GLTFLoader } from "../glTFLoader.js";
2
- import { MeshoptCompression } from "@babylonjs/core/Meshes/Compression/meshoptCompression.js";
3
- var NAME = "EXT_meshopt_compression";
4
- /**
5
- * [Specification](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_meshopt_compression)
6
- *
7
- * This extension uses a WebAssembly decoder module from https://github.com/zeux/meshoptimizer/tree/master/js
8
- * @since 5.0.0
9
- */
10
- var EXT_meshopt_compression = /** @class */ (function () {
11
- /**
12
- * @param loader
13
- * @hidden
14
- */
15
- function EXT_meshopt_compression(loader) {
16
- /**
17
- * The name of this extension.
18
- */
19
- this.name = NAME;
20
- this.enabled = loader.isExtensionUsed(NAME);
21
- this._loader = loader;
22
- }
23
- /** @hidden */
24
- EXT_meshopt_compression.prototype.dispose = function () {
25
- this._loader = null;
26
- };
27
- /**
28
- * @param context
29
- * @param bufferView
30
- * @hidden
31
- */
32
- EXT_meshopt_compression.prototype.loadBufferViewAsync = function (context, bufferView) {
33
- var _this = this;
34
- return GLTFLoader.LoadExtensionAsync(context, bufferView, this.name, function (extensionContext, extension) {
35
- var bufferViewMeshopt = bufferView;
36
- if (bufferViewMeshopt._meshOptData) {
37
- return bufferViewMeshopt._meshOptData;
38
- }
39
- var buffer = ArrayItem.Get("".concat(context, "/buffer"), _this._loader.gltf.buffers, extension.buffer);
40
- bufferViewMeshopt._meshOptData = _this._loader.loadBufferAsync("/buffers/".concat(buffer.index), buffer, extension.byteOffset || 0, extension.byteLength).then(function (buffer) {
41
- return MeshoptCompression.Default.decodeGltfBufferAsync(buffer, extension.count, extension.byteStride, extension.mode, extension.filter);
42
- });
43
- return bufferViewMeshopt._meshOptData;
44
- });
45
- };
46
- return EXT_meshopt_compression;
47
- }());
48
- export { EXT_meshopt_compression };
49
- GLTFLoader.RegisterExtension(NAME, function (loader) { return new EXT_meshopt_compression(loader); });
1
+ import { ArrayItem, GLTFLoader } from "../glTFLoader";
2
+ import { MeshoptCompression } from "@babylonjs/core/Meshes/Compression/meshoptCompression.js";
3
+ var NAME = "EXT_meshopt_compression";
4
+ /**
5
+ * [Specification](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_meshopt_compression)
6
+ *
7
+ * This extension uses a WebAssembly decoder module from https://github.com/zeux/meshoptimizer/tree/master/js
8
+ * @since 5.0.0
9
+ */
10
+ var EXT_meshopt_compression = /** @class */ (function () {
11
+ /**
12
+ * @param loader
13
+ * @hidden
14
+ */
15
+ function EXT_meshopt_compression(loader) {
16
+ /**
17
+ * The name of this extension.
18
+ */
19
+ this.name = NAME;
20
+ this.enabled = loader.isExtensionUsed(NAME);
21
+ this._loader = loader;
22
+ }
23
+ /** @hidden */
24
+ EXT_meshopt_compression.prototype.dispose = function () {
25
+ this._loader = null;
26
+ };
27
+ /**
28
+ * @param context
29
+ * @param bufferView
30
+ * @hidden
31
+ */
32
+ EXT_meshopt_compression.prototype.loadBufferViewAsync = function (context, bufferView) {
33
+ var _this = this;
34
+ return GLTFLoader.LoadExtensionAsync(context, bufferView, this.name, function (extensionContext, extension) {
35
+ var bufferViewMeshopt = bufferView;
36
+ if (bufferViewMeshopt._meshOptData) {
37
+ return bufferViewMeshopt._meshOptData;
38
+ }
39
+ var buffer = ArrayItem.Get("".concat(context, "/buffer"), _this._loader.gltf.buffers, extension.buffer);
40
+ bufferViewMeshopt._meshOptData = _this._loader.loadBufferAsync("/buffers/".concat(buffer.index), buffer, extension.byteOffset || 0, extension.byteLength).then(function (buffer) {
41
+ return MeshoptCompression.Default.decodeGltfBufferAsync(buffer, extension.count, extension.byteStride, extension.mode, extension.filter);
42
+ });
43
+ return bufferViewMeshopt._meshOptData;
44
+ });
45
+ };
46
+ return EXT_meshopt_compression;
47
+ }());
48
+ export { EXT_meshopt_compression };
49
+ GLTFLoader.RegisterExtension(NAME, function (loader) { return new EXT_meshopt_compression(loader); });
50
50
  //# sourceMappingURL=EXT_meshopt_compression.js.map
@@ -1,29 +1,29 @@
1
- import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
2
- import { GLTFLoader } from "../glTFLoader";
3
- import { ITexture } from "../glTFLoaderInterfaces";
4
- import { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture.js";
5
- import { Nullable } from "@babylonjs/core/types.js";
6
- /**
7
- * [Specification](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Vendor/EXT_texture_webp/)
8
- */
9
- export declare class EXT_texture_webp implements IGLTFLoaderExtension {
10
- /** The name of this extension. */
11
- readonly name = "EXT_texture_webp";
12
- /** Defines whether this extension is enabled. */
13
- enabled: boolean;
14
- private _loader;
15
- /**
16
- * @param loader
17
- * @hidden
18
- */
19
- constructor(loader: GLTFLoader);
20
- /** @hidden */
21
- dispose(): void;
22
- /**
23
- * @param context
24
- * @param texture
25
- * @param assign
26
- * @hidden
27
- */
28
- _loadTextureAsync(context: string, texture: ITexture, assign: (babylonTexture: BaseTexture) => void): Nullable<Promise<BaseTexture>>;
29
- }
1
+ import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
2
+ import { GLTFLoader } from "../glTFLoader";
3
+ import { ITexture } from "../glTFLoaderInterfaces";
4
+ import { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture.js";
5
+ import { Nullable } from "@babylonjs/core/types.js";
6
+ /**
7
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Vendor/EXT_texture_webp/)
8
+ */
9
+ export declare class EXT_texture_webp implements IGLTFLoaderExtension {
10
+ /** The name of this extension. */
11
+ readonly name = "EXT_texture_webp";
12
+ /** Defines whether this extension is enabled. */
13
+ enabled: boolean;
14
+ private _loader;
15
+ /**
16
+ * @param loader
17
+ * @hidden
18
+ */
19
+ constructor(loader: GLTFLoader);
20
+ /** @hidden */
21
+ dispose(): void;
22
+ /**
23
+ * @param context
24
+ * @param texture
25
+ * @param assign
26
+ * @hidden
27
+ */
28
+ _loadTextureAsync(context: string, texture: ITexture, assign: (babylonTexture: BaseTexture) => void): Nullable<Promise<BaseTexture>>;
29
+ }
@@ -1,41 +1,41 @@
1
- import { GLTFLoader, ArrayItem } from "../glTFLoader.js";
2
- var NAME = "EXT_texture_webp";
3
- /**
4
- * [Specification](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Vendor/EXT_texture_webp/)
5
- */
6
- var EXT_texture_webp = /** @class */ (function () {
7
- /**
8
- * @param loader
9
- * @hidden
10
- */
11
- function EXT_texture_webp(loader) {
12
- /** The name of this extension. */
13
- this.name = NAME;
14
- this._loader = loader;
15
- this.enabled = loader.isExtensionUsed(NAME);
16
- }
17
- /** @hidden */
18
- EXT_texture_webp.prototype.dispose = function () {
19
- this._loader = null;
20
- };
21
- /**
22
- * @param context
23
- * @param texture
24
- * @param assign
25
- * @hidden
26
- */
27
- EXT_texture_webp.prototype._loadTextureAsync = function (context, texture, assign) {
28
- var _this = this;
29
- return GLTFLoader.LoadExtensionAsync(context, texture, this.name, function (extensionContext, extension) {
30
- var sampler = texture.sampler == undefined ? GLTFLoader.DefaultSampler : ArrayItem.Get("".concat(context, "/sampler"), _this._loader.gltf.samplers, texture.sampler);
31
- var image = ArrayItem.Get("".concat(extensionContext, "/source"), _this._loader.gltf.images, extension.source);
32
- return _this._loader._createTextureAsync(context, sampler, image, function (babylonTexture) {
33
- assign(babylonTexture);
34
- }, undefined, !texture._textureInfo.nonColorData);
35
- });
36
- };
37
- return EXT_texture_webp;
38
- }());
39
- export { EXT_texture_webp };
40
- GLTFLoader.RegisterExtension(NAME, function (loader) { return new EXT_texture_webp(loader); });
1
+ import { GLTFLoader, ArrayItem } from "../glTFLoader";
2
+ var NAME = "EXT_texture_webp";
3
+ /**
4
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Vendor/EXT_texture_webp/)
5
+ */
6
+ var EXT_texture_webp = /** @class */ (function () {
7
+ /**
8
+ * @param loader
9
+ * @hidden
10
+ */
11
+ function EXT_texture_webp(loader) {
12
+ /** The name of this extension. */
13
+ this.name = NAME;
14
+ this._loader = loader;
15
+ this.enabled = loader.isExtensionUsed(NAME);
16
+ }
17
+ /** @hidden */
18
+ EXT_texture_webp.prototype.dispose = function () {
19
+ this._loader = null;
20
+ };
21
+ /**
22
+ * @param context
23
+ * @param texture
24
+ * @param assign
25
+ * @hidden
26
+ */
27
+ EXT_texture_webp.prototype._loadTextureAsync = function (context, texture, assign) {
28
+ var _this = this;
29
+ return GLTFLoader.LoadExtensionAsync(context, texture, this.name, function (extensionContext, extension) {
30
+ var sampler = texture.sampler == undefined ? GLTFLoader.DefaultSampler : ArrayItem.Get("".concat(context, "/sampler"), _this._loader.gltf.samplers, texture.sampler);
31
+ var image = ArrayItem.Get("".concat(extensionContext, "/source"), _this._loader.gltf.images, extension.source);
32
+ return _this._loader._createTextureAsync(context, sampler, image, function (babylonTexture) {
33
+ assign(babylonTexture);
34
+ }, undefined, !texture._textureInfo.nonColorData);
35
+ });
36
+ };
37
+ return EXT_texture_webp;
38
+ }());
39
+ export { EXT_texture_webp };
40
+ GLTFLoader.RegisterExtension(NAME, function (loader) { return new EXT_texture_webp(loader); });
41
41
  //# sourceMappingURL=EXT_texture_webp.js.map