@babylonjs/loaders 5.0.0-rc.5 → 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,50 +1,50 @@
1
- import { Nullable } from "@babylonjs/core/types.js";
2
- import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
3
- import { Camera } from "@babylonjs/core/Cameras/camera.js";
4
- import { INode, ICamera, IMaterial } from "../glTFLoaderInterfaces";
5
- import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
6
- import { GLTFLoader } from "../glTFLoader";
7
- import { Material } from "@babylonjs/core/Materials/material.js";
8
- /**
9
- * Store glTF extras (if present) in BJS objects' metadata
10
- */
11
- export declare class ExtrasAsMetadata implements IGLTFLoaderExtension {
12
- /**
13
- * The name of this extension.
14
- */
15
- readonly name = "ExtrasAsMetadata";
16
- /**
17
- * Defines whether this extension is enabled.
18
- */
19
- enabled: boolean;
20
- private _loader;
21
- private _assignExtras;
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
- /**
37
- * @param context
38
- * @param camera
39
- * @param assign
40
- * @hidden
41
- */
42
- loadCameraAsync(context: string, camera: ICamera, assign: (babylonCamera: Camera) => void): Nullable<Promise<Camera>>;
43
- /**
44
- * @param context
45
- * @param material
46
- * @param babylonDrawMode
47
- * @hidden
48
- */
49
- createMaterial(context: string, material: IMaterial, babylonDrawMode: number): Nullable<Material>;
50
- }
1
+ import { Nullable } from "@babylonjs/core/types.js";
2
+ import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
3
+ import { Camera } from "@babylonjs/core/Cameras/camera.js";
4
+ import { INode, ICamera, IMaterial } from "../glTFLoaderInterfaces";
5
+ import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
6
+ import { GLTFLoader } from "../glTFLoader";
7
+ import { Material } from "@babylonjs/core/Materials/material.js";
8
+ /**
9
+ * Store glTF extras (if present) in BJS objects' metadata
10
+ */
11
+ export declare class ExtrasAsMetadata implements IGLTFLoaderExtension {
12
+ /**
13
+ * The name of this extension.
14
+ */
15
+ readonly name = "ExtrasAsMetadata";
16
+ /**
17
+ * Defines whether this extension is enabled.
18
+ */
19
+ enabled: boolean;
20
+ private _loader;
21
+ private _assignExtras;
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
+ /**
37
+ * @param context
38
+ * @param camera
39
+ * @param assign
40
+ * @hidden
41
+ */
42
+ loadCameraAsync(context: string, camera: ICamera, assign: (babylonCamera: Camera) => void): Nullable<Promise<Camera>>;
43
+ /**
44
+ * @param context
45
+ * @param material
46
+ * @param babylonDrawMode
47
+ * @hidden
48
+ */
49
+ createMaterial(context: string, material: IMaterial, babylonDrawMode: number): Nullable<Material>;
50
+ }
@@ -1,74 +1,74 @@
1
- import { GLTFLoader } from "../glTFLoader.js";
2
- var NAME = "ExtrasAsMetadata";
3
- /**
4
- * Store glTF extras (if present) in BJS objects' metadata
5
- */
6
- var ExtrasAsMetadata = /** @class */ (function () {
7
- /**
8
- * @param loader
9
- * @hidden
10
- */
11
- function ExtrasAsMetadata(loader) {
12
- /**
13
- * The name of this extension.
14
- */
15
- this.name = NAME;
16
- /**
17
- * Defines whether this extension is enabled.
18
- */
19
- this.enabled = true;
20
- this._loader = loader;
21
- }
22
- ExtrasAsMetadata.prototype._assignExtras = function (babylonObject, gltfProp) {
23
- if (gltfProp.extras && Object.keys(gltfProp.extras).length > 0) {
24
- var metadata = (babylonObject.metadata = babylonObject.metadata || {});
25
- var gltf = (metadata.gltf = metadata.gltf || {});
26
- gltf.extras = gltfProp.extras;
27
- }
28
- };
29
- /** @hidden */
30
- ExtrasAsMetadata.prototype.dispose = function () {
31
- this._loader = null;
32
- };
33
- /**
34
- * @param context
35
- * @param node
36
- * @param assign
37
- * @hidden
38
- */
39
- ExtrasAsMetadata.prototype.loadNodeAsync = function (context, node, assign) {
40
- var _this = this;
41
- return this._loader.loadNodeAsync(context, node, function (babylonTransformNode) {
42
- _this._assignExtras(babylonTransformNode, node);
43
- assign(babylonTransformNode);
44
- });
45
- };
46
- /**
47
- * @param context
48
- * @param camera
49
- * @param assign
50
- * @hidden
51
- */
52
- ExtrasAsMetadata.prototype.loadCameraAsync = function (context, camera, assign) {
53
- var _this = this;
54
- return this._loader.loadCameraAsync(context, camera, function (babylonCamera) {
55
- _this._assignExtras(babylonCamera, camera);
56
- assign(babylonCamera);
57
- });
58
- };
59
- /**
60
- * @param context
61
- * @param material
62
- * @param babylonDrawMode
63
- * @hidden
64
- */
65
- ExtrasAsMetadata.prototype.createMaterial = function (context, material, babylonDrawMode) {
66
- var babylonMaterial = this._loader.createMaterial(context, material, babylonDrawMode);
67
- this._assignExtras(babylonMaterial, material);
68
- return babylonMaterial;
69
- };
70
- return ExtrasAsMetadata;
71
- }());
72
- export { ExtrasAsMetadata };
73
- GLTFLoader.RegisterExtension(NAME, function (loader) { return new ExtrasAsMetadata(loader); });
1
+ import { GLTFLoader } from "../glTFLoader";
2
+ var NAME = "ExtrasAsMetadata";
3
+ /**
4
+ * Store glTF extras (if present) in BJS objects' metadata
5
+ */
6
+ var ExtrasAsMetadata = /** @class */ (function () {
7
+ /**
8
+ * @param loader
9
+ * @hidden
10
+ */
11
+ function ExtrasAsMetadata(loader) {
12
+ /**
13
+ * The name of this extension.
14
+ */
15
+ this.name = NAME;
16
+ /**
17
+ * Defines whether this extension is enabled.
18
+ */
19
+ this.enabled = true;
20
+ this._loader = loader;
21
+ }
22
+ ExtrasAsMetadata.prototype._assignExtras = function (babylonObject, gltfProp) {
23
+ if (gltfProp.extras && Object.keys(gltfProp.extras).length > 0) {
24
+ var metadata = (babylonObject.metadata = babylonObject.metadata || {});
25
+ var gltf = (metadata.gltf = metadata.gltf || {});
26
+ gltf.extras = gltfProp.extras;
27
+ }
28
+ };
29
+ /** @hidden */
30
+ ExtrasAsMetadata.prototype.dispose = function () {
31
+ this._loader = null;
32
+ };
33
+ /**
34
+ * @param context
35
+ * @param node
36
+ * @param assign
37
+ * @hidden
38
+ */
39
+ ExtrasAsMetadata.prototype.loadNodeAsync = function (context, node, assign) {
40
+ var _this = this;
41
+ return this._loader.loadNodeAsync(context, node, function (babylonTransformNode) {
42
+ _this._assignExtras(babylonTransformNode, node);
43
+ assign(babylonTransformNode);
44
+ });
45
+ };
46
+ /**
47
+ * @param context
48
+ * @param camera
49
+ * @param assign
50
+ * @hidden
51
+ */
52
+ ExtrasAsMetadata.prototype.loadCameraAsync = function (context, camera, assign) {
53
+ var _this = this;
54
+ return this._loader.loadCameraAsync(context, camera, function (babylonCamera) {
55
+ _this._assignExtras(babylonCamera, camera);
56
+ assign(babylonCamera);
57
+ });
58
+ };
59
+ /**
60
+ * @param context
61
+ * @param material
62
+ * @param babylonDrawMode
63
+ * @hidden
64
+ */
65
+ ExtrasAsMetadata.prototype.createMaterial = function (context, material, babylonDrawMode) {
66
+ var babylonMaterial = this._loader.createMaterial(context, material, babylonDrawMode);
67
+ this._assignExtras(babylonMaterial, material);
68
+ return babylonMaterial;
69
+ };
70
+ return ExtrasAsMetadata;
71
+ }());
72
+ export { ExtrasAsMetadata };
73
+ GLTFLoader.RegisterExtension(NAME, function (loader) { return new ExtrasAsMetadata(loader); });
74
74
  //# sourceMappingURL=ExtrasAsMetadata.js.map
@@ -1,39 +1,39 @@
1
- import { DracoCompression } from "@babylonjs/core/Meshes/Compression/dracoCompression.js";
2
- import { Nullable } from "@babylonjs/core/types.js";
3
- import { Geometry } from "@babylonjs/core/Meshes/geometry.js";
4
- import { Mesh } from "@babylonjs/core/Meshes/mesh.js";
5
- import { IMeshPrimitive } from "../glTFLoaderInterfaces";
6
- import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
7
- import { GLTFLoader } from "../glTFLoader";
8
- /**
9
- * [Specification](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_draco_mesh_compression)
10
- */
11
- export declare class KHR_draco_mesh_compression implements IGLTFLoaderExtension {
12
- /**
13
- * The name of this extension.
14
- */
15
- readonly name = "KHR_draco_mesh_compression";
16
- /**
17
- * The draco compression used to decode vertex data or DracoCompression.Default if not defined
18
- */
19
- dracoCompression?: DracoCompression;
20
- /**
21
- * Defines whether this extension is enabled.
22
- */
23
- enabled: boolean;
24
- private _loader;
25
- /**
26
- * @param loader
27
- * @hidden
28
- */
29
- constructor(loader: GLTFLoader);
30
- /** @hidden */
31
- dispose(): void;
32
- /**
33
- * @param context
34
- * @param primitive
35
- * @param babylonMesh
36
- * @hidden
37
- */
38
- _loadVertexDataAsync(context: string, primitive: IMeshPrimitive, babylonMesh: Mesh): Nullable<Promise<Geometry>>;
39
- }
1
+ import { DracoCompression } from "@babylonjs/core/Meshes/Compression/dracoCompression.js";
2
+ import { Nullable } from "@babylonjs/core/types.js";
3
+ import { Geometry } from "@babylonjs/core/Meshes/geometry.js";
4
+ import { Mesh } from "@babylonjs/core/Meshes/mesh.js";
5
+ import { IMeshPrimitive } from "../glTFLoaderInterfaces";
6
+ import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
7
+ import { GLTFLoader } from "../glTFLoader";
8
+ /**
9
+ * [Specification](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_draco_mesh_compression)
10
+ */
11
+ export declare class KHR_draco_mesh_compression implements IGLTFLoaderExtension {
12
+ /**
13
+ * The name of this extension.
14
+ */
15
+ readonly name = "KHR_draco_mesh_compression";
16
+ /**
17
+ * The draco compression used to decode vertex data or DracoCompression.Default if not defined
18
+ */
19
+ dracoCompression?: DracoCompression;
20
+ /**
21
+ * Defines whether this extension is enabled.
22
+ */
23
+ enabled: boolean;
24
+ private _loader;
25
+ /**
26
+ * @param loader
27
+ * @hidden
28
+ */
29
+ constructor(loader: GLTFLoader);
30
+ /** @hidden */
31
+ dispose(): void;
32
+ /**
33
+ * @param context
34
+ * @param primitive
35
+ * @param babylonMesh
36
+ * @hidden
37
+ */
38
+ _loadVertexDataAsync(context: string, primitive: IMeshPrimitive, babylonMesh: Mesh): Nullable<Promise<Geometry>>;
39
+ }
@@ -1,113 +1,113 @@
1
- /* eslint-disable @typescript-eslint/naming-convention */
2
- import { DracoCompression } from "@babylonjs/core/Meshes/Compression/dracoCompression.js";
3
- import { VertexBuffer } from "@babylonjs/core/Buffers/buffer.js";
4
- import { Geometry } from "@babylonjs/core/Meshes/geometry.js";
5
- import { GLTFLoader, ArrayItem } from "../glTFLoader.js";
6
- var NAME = "KHR_draco_mesh_compression";
7
- /**
8
- * [Specification](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_draco_mesh_compression)
9
- */
10
- var KHR_draco_mesh_compression = /** @class */ (function () {
11
- /**
12
- * @param loader
13
- * @hidden
14
- */
15
- function KHR_draco_mesh_compression(loader) {
16
- /**
17
- * The name of this extension.
18
- */
19
- this.name = NAME;
20
- this._loader = loader;
21
- this.enabled = DracoCompression.DecoderAvailable && this._loader.isExtensionUsed(NAME);
22
- }
23
- /** @hidden */
24
- KHR_draco_mesh_compression.prototype.dispose = function () {
25
- delete this.dracoCompression;
26
- this._loader = null;
27
- };
28
- /**
29
- * @param context
30
- * @param primitive
31
- * @param babylonMesh
32
- * @hidden
33
- */
34
- KHR_draco_mesh_compression.prototype._loadVertexDataAsync = function (context, primitive, babylonMesh) {
35
- var _this = this;
36
- return GLTFLoader.LoadExtensionAsync(context, primitive, this.name, function (extensionContext, extension) {
37
- if (primitive.mode != undefined) {
38
- if (primitive.mode !== 5 /* TRIANGLE_STRIP */ && primitive.mode !== 4 /* TRIANGLES */) {
39
- throw new Error("".concat(context, ": Unsupported mode ").concat(primitive.mode));
40
- }
41
- // TODO: handle triangle strips
42
- if (primitive.mode === 5 /* TRIANGLE_STRIP */) {
43
- throw new Error("".concat(context, ": Mode ").concat(primitive.mode, " is not currently supported"));
44
- }
45
- }
46
- var attributes = {};
47
- var dividers = {};
48
- var loadAttribute = function (name, kind) {
49
- var uniqueId = extension.attributes[name];
50
- if (uniqueId === undefined || primitive.attributes[name] === undefined) {
51
- return;
52
- }
53
- attributes[kind] = uniqueId;
54
- var accessor = ArrayItem.Get("".concat(context, "/attributes/").concat(name), _this._loader.gltf.accessors, primitive.attributes[name]);
55
- if (accessor.normalized && accessor.componentType !== 5126 /* FLOAT */) {
56
- var divider = 1;
57
- switch (accessor.componentType) {
58
- case 5120 /* BYTE */:
59
- divider = 127.0;
60
- break;
61
- case 5121 /* UNSIGNED_BYTE */:
62
- divider = 255.0;
63
- break;
64
- case 5122 /* SHORT */:
65
- divider = 32767.0;
66
- break;
67
- case 5123 /* UNSIGNED_SHORT */:
68
- divider = 65535.0;
69
- break;
70
- }
71
- dividers[kind] = divider;
72
- }
73
- babylonMesh._delayInfo = babylonMesh._delayInfo || [];
74
- if (babylonMesh._delayInfo.indexOf(kind) === -1) {
75
- babylonMesh._delayInfo.push(kind);
76
- }
77
- };
78
- loadAttribute("POSITION", VertexBuffer.PositionKind);
79
- loadAttribute("NORMAL", VertexBuffer.NormalKind);
80
- loadAttribute("TANGENT", VertexBuffer.TangentKind);
81
- loadAttribute("TEXCOORD_0", VertexBuffer.UVKind);
82
- loadAttribute("TEXCOORD_1", VertexBuffer.UV2Kind);
83
- loadAttribute("TEXCOORD_2", VertexBuffer.UV3Kind);
84
- loadAttribute("TEXCOORD_3", VertexBuffer.UV4Kind);
85
- loadAttribute("TEXCOORD_4", VertexBuffer.UV5Kind);
86
- loadAttribute("TEXCOORD_5", VertexBuffer.UV6Kind);
87
- loadAttribute("JOINTS_0", VertexBuffer.MatricesIndicesKind);
88
- loadAttribute("WEIGHTS_0", VertexBuffer.MatricesWeightsKind);
89
- loadAttribute("COLOR_0", VertexBuffer.ColorKind);
90
- var bufferView = ArrayItem.Get(extensionContext, _this._loader.gltf.bufferViews, extension.bufferView);
91
- if (!bufferView._dracoBabylonGeometry) {
92
- bufferView._dracoBabylonGeometry = _this._loader.loadBufferViewAsync("/bufferViews/".concat(bufferView.index), bufferView).then(function (data) {
93
- var dracoCompression = _this.dracoCompression || DracoCompression.Default;
94
- return dracoCompression
95
- .decodeMeshAsync(data, attributes, dividers)
96
- .then(function (babylonVertexData) {
97
- var babylonGeometry = new Geometry(babylonMesh.name, _this._loader.babylonScene);
98
- babylonVertexData.applyToGeometry(babylonGeometry);
99
- return babylonGeometry;
100
- })
101
- .catch(function (error) {
102
- throw new Error("".concat(context, ": ").concat(error.message));
103
- });
104
- });
105
- }
106
- return bufferView._dracoBabylonGeometry;
107
- });
108
- };
109
- return KHR_draco_mesh_compression;
110
- }());
111
- export { KHR_draco_mesh_compression };
112
- GLTFLoader.RegisterExtension(NAME, function (loader) { return new KHR_draco_mesh_compression(loader); });
1
+ /* eslint-disable @typescript-eslint/naming-convention */
2
+ import { DracoCompression } from "@babylonjs/core/Meshes/Compression/dracoCompression.js";
3
+ import { VertexBuffer } from "@babylonjs/core/Buffers/buffer.js";
4
+ import { Geometry } from "@babylonjs/core/Meshes/geometry.js";
5
+ import { GLTFLoader, ArrayItem } from "../glTFLoader";
6
+ var NAME = "KHR_draco_mesh_compression";
7
+ /**
8
+ * [Specification](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_draco_mesh_compression)
9
+ */
10
+ var KHR_draco_mesh_compression = /** @class */ (function () {
11
+ /**
12
+ * @param loader
13
+ * @hidden
14
+ */
15
+ function KHR_draco_mesh_compression(loader) {
16
+ /**
17
+ * The name of this extension.
18
+ */
19
+ this.name = NAME;
20
+ this._loader = loader;
21
+ this.enabled = DracoCompression.DecoderAvailable && this._loader.isExtensionUsed(NAME);
22
+ }
23
+ /** @hidden */
24
+ KHR_draco_mesh_compression.prototype.dispose = function () {
25
+ delete this.dracoCompression;
26
+ this._loader = null;
27
+ };
28
+ /**
29
+ * @param context
30
+ * @param primitive
31
+ * @param babylonMesh
32
+ * @hidden
33
+ */
34
+ KHR_draco_mesh_compression.prototype._loadVertexDataAsync = function (context, primitive, babylonMesh) {
35
+ var _this = this;
36
+ return GLTFLoader.LoadExtensionAsync(context, primitive, this.name, function (extensionContext, extension) {
37
+ if (primitive.mode != undefined) {
38
+ if (primitive.mode !== 5 /* TRIANGLE_STRIP */ && primitive.mode !== 4 /* TRIANGLES */) {
39
+ throw new Error("".concat(context, ": Unsupported mode ").concat(primitive.mode));
40
+ }
41
+ // TODO: handle triangle strips
42
+ if (primitive.mode === 5 /* TRIANGLE_STRIP */) {
43
+ throw new Error("".concat(context, ": Mode ").concat(primitive.mode, " is not currently supported"));
44
+ }
45
+ }
46
+ var attributes = {};
47
+ var dividers = {};
48
+ var loadAttribute = function (name, kind) {
49
+ var uniqueId = extension.attributes[name];
50
+ if (uniqueId === undefined || primitive.attributes[name] === undefined) {
51
+ return;
52
+ }
53
+ attributes[kind] = uniqueId;
54
+ var accessor = ArrayItem.Get("".concat(context, "/attributes/").concat(name), _this._loader.gltf.accessors, primitive.attributes[name]);
55
+ if (accessor.normalized && accessor.componentType !== 5126 /* FLOAT */) {
56
+ var divider = 1;
57
+ switch (accessor.componentType) {
58
+ case 5120 /* BYTE */:
59
+ divider = 127.0;
60
+ break;
61
+ case 5121 /* UNSIGNED_BYTE */:
62
+ divider = 255.0;
63
+ break;
64
+ case 5122 /* SHORT */:
65
+ divider = 32767.0;
66
+ break;
67
+ case 5123 /* UNSIGNED_SHORT */:
68
+ divider = 65535.0;
69
+ break;
70
+ }
71
+ dividers[kind] = divider;
72
+ }
73
+ babylonMesh._delayInfo = babylonMesh._delayInfo || [];
74
+ if (babylonMesh._delayInfo.indexOf(kind) === -1) {
75
+ babylonMesh._delayInfo.push(kind);
76
+ }
77
+ };
78
+ loadAttribute("POSITION", VertexBuffer.PositionKind);
79
+ loadAttribute("NORMAL", VertexBuffer.NormalKind);
80
+ loadAttribute("TANGENT", VertexBuffer.TangentKind);
81
+ loadAttribute("TEXCOORD_0", VertexBuffer.UVKind);
82
+ loadAttribute("TEXCOORD_1", VertexBuffer.UV2Kind);
83
+ loadAttribute("TEXCOORD_2", VertexBuffer.UV3Kind);
84
+ loadAttribute("TEXCOORD_3", VertexBuffer.UV4Kind);
85
+ loadAttribute("TEXCOORD_4", VertexBuffer.UV5Kind);
86
+ loadAttribute("TEXCOORD_5", VertexBuffer.UV6Kind);
87
+ loadAttribute("JOINTS_0", VertexBuffer.MatricesIndicesKind);
88
+ loadAttribute("WEIGHTS_0", VertexBuffer.MatricesWeightsKind);
89
+ loadAttribute("COLOR_0", VertexBuffer.ColorKind);
90
+ var bufferView = ArrayItem.Get(extensionContext, _this._loader.gltf.bufferViews, extension.bufferView);
91
+ if (!bufferView._dracoBabylonGeometry) {
92
+ bufferView._dracoBabylonGeometry = _this._loader.loadBufferViewAsync("/bufferViews/".concat(bufferView.index), bufferView).then(function (data) {
93
+ var dracoCompression = _this.dracoCompression || DracoCompression.Default;
94
+ return dracoCompression
95
+ .decodeMeshAsync(data, attributes, dividers)
96
+ .then(function (babylonVertexData) {
97
+ var babylonGeometry = new Geometry(babylonMesh.name, _this._loader.babylonScene);
98
+ babylonVertexData.applyToGeometry(babylonGeometry);
99
+ return babylonGeometry;
100
+ })
101
+ .catch(function (error) {
102
+ throw new Error("".concat(context, ": ").concat(error.message));
103
+ });
104
+ });
105
+ }
106
+ return bufferView._dracoBabylonGeometry;
107
+ });
108
+ };
109
+ return KHR_draco_mesh_compression;
110
+ }());
111
+ export { KHR_draco_mesh_compression };
112
+ GLTFLoader.RegisterExtension(NAME, function (loader) { return new KHR_draco_mesh_compression(loader); });
113
113
  //# sourceMappingURL=KHR_draco_mesh_compression.js.map
@@ -1,36 +1,36 @@
1
- import { Nullable } from "@babylonjs/core/types.js";
2
- import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
3
- import { INode } 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_lights_punctual)
8
- */
9
- export declare class KHR_lights implements IGLTFLoaderExtension {
10
- /**
11
- * The name of this extension.
12
- */
13
- readonly name = "KHR_lights_punctual";
14
- /**
15
- * Defines whether this extension is enabled.
16
- */
17
- enabled: boolean;
18
- private _loader;
19
- private _lights?;
20
- /**
21
- * @param loader
22
- * @hidden
23
- */
24
- constructor(loader: GLTFLoader);
25
- /** @hidden */
26
- dispose(): void;
27
- /** @hidden */
28
- onLoading(): 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 { Nullable } from "@babylonjs/core/types.js";
2
+ import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
3
+ import { INode } 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_lights_punctual)
8
+ */
9
+ export declare class KHR_lights implements IGLTFLoaderExtension {
10
+ /**
11
+ * The name of this extension.
12
+ */
13
+ readonly name = "KHR_lights_punctual";
14
+ /**
15
+ * Defines whether this extension is enabled.
16
+ */
17
+ enabled: boolean;
18
+ private _loader;
19
+ private _lights?;
20
+ /**
21
+ * @param loader
22
+ * @hidden
23
+ */
24
+ constructor(loader: GLTFLoader);
25
+ /** @hidden */
26
+ dispose(): void;
27
+ /** @hidden */
28
+ onLoading(): 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
+ }