@loaders.gl/gltf 4.0.0-alpha.4 → 4.0.0-alpha.5
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.
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/dist.min.js +4541 -0
- package/dist/glb-loader.d.ts +13 -0
- package/dist/glb-loader.d.ts.map +1 -0
- package/dist/glb-writer.d.ts +22 -0
- package/dist/glb-writer.d.ts.map +1 -0
- package/dist/gltf-loader.d.ts +18 -0
- package/dist/gltf-loader.d.ts.map +1 -0
- package/dist/gltf-writer.d.ts +25 -0
- package/dist/gltf-writer.d.ts.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/api/gltf-extensions.d.ts +26 -0
- package/dist/lib/api/gltf-extensions.d.ts.map +1 -0
- package/dist/lib/api/gltf-scenegraph.d.ts +183 -0
- package/dist/lib/api/gltf-scenegraph.d.ts.map +1 -0
- package/dist/lib/api/gltf-scenegraph.js.map +1 -1
- package/dist/lib/api/normalize-gltf-v1.d.ts +2 -0
- package/dist/lib/api/normalize-gltf-v1.d.ts.map +1 -0
- package/dist/lib/api/normalize-gltf-v1.js +6 -3
- package/dist/lib/api/normalize-gltf-v1.js.map +1 -1
- package/dist/lib/api/post-process-gltf.d.ts +2 -0
- package/dist/lib/api/post-process-gltf.d.ts.map +1 -0
- package/dist/lib/api/post-process-gltf.js +37 -7
- package/dist/lib/api/post-process-gltf.js.map +1 -1
- package/dist/lib/encoders/encode-glb.d.ts +2 -0
- package/dist/lib/encoders/encode-glb.d.ts.map +1 -0
- package/dist/lib/encoders/encode-glb.js.map +1 -1
- package/dist/lib/encoders/encode-gltf.d.ts +2 -0
- package/dist/lib/encoders/encode-gltf.d.ts.map +1 -0
- package/dist/lib/encoders/encode-gltf.js.map +1 -1
- package/dist/lib/extensions/EXT_meshopt_compression.d.ts +10 -0
- package/dist/lib/extensions/EXT_meshopt_compression.d.ts.map +1 -0
- package/dist/lib/extensions/EXT_texture_webp.d.ts +12 -0
- package/dist/lib/extensions/EXT_texture_webp.d.ts.map +1 -0
- package/dist/lib/extensions/KHR_binary_gltf.d.ts +7 -0
- package/dist/lib/extensions/KHR_binary_gltf.d.ts.map +1 -0
- package/dist/lib/extensions/KHR_draco_mesh_compression.d.ts +13 -0
- package/dist/lib/extensions/KHR_draco_mesh_compression.d.ts.map +1 -0
- package/dist/lib/extensions/KHR_texture_basisu.d.ts +12 -0
- package/dist/lib/extensions/KHR_texture_basisu.d.ts.map +1 -0
- package/dist/lib/extensions/KHR_texture_basisu.js.map +1 -1
- package/dist/lib/extensions/deprecated/KHR_lights_punctual.d.ts +7 -0
- package/dist/lib/extensions/deprecated/KHR_lights_punctual.d.ts.map +1 -0
- package/dist/lib/extensions/deprecated/KHR_materials_unlit.d.ts +7 -0
- package/dist/lib/extensions/deprecated/KHR_materials_unlit.d.ts.map +1 -0
- package/dist/lib/extensions/deprecated/KHR_techniques_webgl.d.ts +7 -0
- package/dist/lib/extensions/deprecated/KHR_techniques_webgl.d.ts.map +1 -0
- package/dist/lib/gltf-utils/get-typed-array.d.ts +3 -0
- package/dist/lib/gltf-utils/get-typed-array.d.ts.map +1 -0
- package/dist/lib/gltf-utils/gltf-attribute-utils.d.ts +6 -0
- package/dist/lib/gltf-utils/gltf-attribute-utils.d.ts.map +1 -0
- package/dist/lib/gltf-utils/gltf-constants.d.ts +4 -0
- package/dist/lib/gltf-utils/gltf-constants.d.ts.map +1 -0
- package/dist/lib/gltf-utils/gltf-utils.d.ts +8 -0
- package/dist/lib/gltf-utils/gltf-utils.d.ts.map +1 -0
- package/dist/lib/gltf-utils/resolve-url.d.ts +2 -0
- package/dist/lib/gltf-utils/resolve-url.d.ts.map +1 -0
- package/dist/lib/parsers/parse-glb.d.ts +8 -0
- package/dist/lib/parsers/parse-glb.d.ts.map +1 -0
- package/dist/lib/parsers/parse-gltf.d.ts +14 -0
- package/dist/lib/parsers/parse-gltf.d.ts.map +1 -0
- package/dist/lib/parsers/parse-gltf.js +2 -2
- package/dist/lib/parsers/parse-gltf.js.map +1 -1
- package/dist/lib/types/glb-types.d.ts +17 -0
- package/dist/lib/types/glb-types.d.ts.map +1 -0
- package/dist/lib/types/gltf-json-schema.d.ts +720 -0
- package/dist/lib/types/gltf-json-schema.d.ts.map +1 -0
- package/dist/lib/types/gltf-postprocessed-schema.d.ts +686 -0
- package/dist/lib/types/gltf-postprocessed-schema.d.ts.map +1 -0
- package/dist/lib/types/gltf-types.d.ts +11 -0
- package/dist/lib/types/gltf-types.d.ts.map +1 -0
- package/dist/lib/utils/assert.d.ts +2 -0
- package/dist/lib/utils/assert.d.ts.map +1 -0
- package/dist/lib/utils/assert.js.map +1 -1
- package/dist/lib/utils/version.d.ts +2 -0
- package/dist/lib/utils/version.d.ts.map +1 -0
- package/dist/lib/utils/version.js +1 -1
- package/dist/lib/utils/version.js.map +1 -1
- package/dist/meshopt/meshopt-decoder.d.ts +6 -0
- package/dist/meshopt/meshopt-decoder.d.ts.map +1 -0
- package/dist/webp/webp.d.ts +7 -0
- package/dist/webp/webp.d.ts.map +1 -0
- package/package.json +8 -11
- package/src/index.ts +1 -0
- package/src/lib/api/gltf-scenegraph.ts +2 -2
- package/src/lib/api/{normalize-gltf-v1.js → normalize-gltf-v1.ts} +18 -16
- package/src/lib/api/{post-process-gltf.js → post-process-gltf.ts} +52 -9
- package/src/lib/encoders/{encode-glb.js → encode-glb.ts} +0 -0
- package/src/lib/encoders/{encode-gltf.js → encode-gltf.ts} +0 -0
- package/src/lib/extensions/KHR_texture_basisu.ts +2 -2
- package/src/lib/parsers/parse-gltf.ts +2 -2
- package/src/lib/types/gltf-postprocessed-schema.ts +3 -2
- package/src/lib/types/gltf-types.ts +4 -1
- package/src/lib/utils/{assert.js → assert.ts} +1 -1
- /package/src/lib/utils/{version.js → version.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gltf-postprocessed-schema.d.ts","sourceRoot":"","sources":["../../../src/lib/types/gltf-postprocessed-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { GLTF, Accessor as GLTFAccessor, Buffer as GLTFBuffer, BufferView as GLTFBufferView, MeshPrimitive as GLTFMeshPrimitive, Mesh as GLTFMesh, Node as GLTFNode, Material as GLTFMaterial, Sampler as GLTFSampler, Scene as GLTFScene, Skin as GLTFSkin, Texture as GLTFTexture, Image as GLTFImage, GLTF_KHR_binary_glTF, GLTF_KHR_draco_mesh_compression, GLTF_KHR_texture_basisu, GLTF_EXT_meshopt_compression, GLTF_EXT_texture_webp } from './gltf-json-schema';
|
|
2
|
+
import type { Image as GLTFImagePostprocessed } from './gltf-postprocessed-schema';
|
|
3
|
+
export type { GLTF, GLTFAccessor, GLTFBuffer, GLTFBufferView, GLTFMeshPrimitive, GLTFMesh, GLTFNode, GLTFMaterial, GLTFSampler, GLTFScene, GLTFSkin, GLTFTexture, GLTFImage, GLTF_KHR_binary_glTF, GLTF_KHR_draco_mesh_compression, GLTF_KHR_texture_basisu, GLTF_EXT_meshopt_compression, GLTF_EXT_texture_webp, GLTFImagePostprocessed };
|
|
4
|
+
export declare type GLTFObject = GLTFAccessor | GLTFBuffer | GLTFBufferView | GLTFMeshPrimitive | GLTFMesh | GLTFNode | GLTFMaterial | GLTFSampler | GLTFScene | GLTFSkin | GLTFTexture | GLTFImage;
|
|
5
|
+
export declare type GLTFWithBuffers = {
|
|
6
|
+
json: GLTF;
|
|
7
|
+
buffers: any[];
|
|
8
|
+
binary?: ArrayBuffer;
|
|
9
|
+
images?: any[];
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=gltf-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gltf-types.d.ts","sourceRoot":"","sources":["../../../src/lib/types/gltf-types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,IAAI,YAAY,EACxB,MAAM,IAAI,UAAU,EACpB,UAAU,IAAI,cAAc,EAC5B,aAAa,IAAI,iBAAiB,EAClC,IAAI,IAAI,QAAQ,EAChB,IAAI,IAAI,QAAQ,EAChB,QAAQ,IAAI,YAAY,EACxB,OAAO,IAAI,WAAW,EACtB,KAAK,IAAI,SAAS,EAClB,IAAI,IAAI,QAAQ,EAChB,OAAO,IAAI,WAAW,EACtB,KAAK,IAAI,SAAS,EAClB,oBAAoB,EACpB,+BAA+B,EAC/B,uBAAuB,EACvB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAC,KAAK,IAAI,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AAEjF,YAAY,EACV,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,SAAS,EACT,QAAQ,EACR,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,+BAA+B,EAC/B,uBAAuB,EACvB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACvB,CAAC;AAEF,oBAAY,UAAU,GAClB,YAAY,GACZ,UAAU,GACV,cAAc,GACd,iBAAiB,GACjB,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,WAAW,GACX,SAAS,GACT,QAAQ,GACR,WAAW,GACX,SAAS,CAAC;AAEd,oBAAY,eAAe,GAAG;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;CAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/assert.ts"],"names":[],"mappings":"AAGA,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAIjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/utils/assert.
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/utils/assert.ts"],"names":["assert","condition","message","Error"],"mappings":"AAGA,OAAO,SAASA,MAAT,CAAgBC,SAAhB,EAAoCC,OAApC,EAA4D;AACjE,MAAI,CAACD,SAAL,EAAgB;AACd,UAAM,IAAIE,KAAJ,CAAUD,OAAO,IAAI,qBAArB,CAAN;AACD;AACF","sourcesContent":["// Replacement for the external assert method to reduce bundle size\n// Note: We don't use the second \"message\" argument in calling code,\n// so no need to support it here\nexport function assert(condition: unknown, message?: string): void {\n if (!condition) {\n throw new Error(message || 'assert failed: gltf');\n }\n}\n"],"file":"assert.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/version.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,KAA8D,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = typeof "4.0.0-alpha.
|
|
1
|
+
export const VERSION = typeof "4.0.0-alpha.5" !== 'undefined' ? "4.0.0-alpha.5" : 'latest';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/utils/version.
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/utils/version.ts"],"names":["VERSION"],"mappings":"AAGA,OAAO,MAAMA,OAAO,GAAG,2BAAuB,WAAvB,qBAAmD,QAAnE","sourcesContent":["// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n"],"file":"version.js"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function isMeshoptSupported(): boolean;
|
|
2
|
+
export declare function meshoptDecodeVertexBuffer(target: Uint8Array, count: number, size: number, source: Uint8Array, filter?: string | number): Promise<void>;
|
|
3
|
+
export declare function meshoptDecodeIndexBuffer(target: Uint8Array, count: number, size: number, source: Uint8Array): Promise<void>;
|
|
4
|
+
export declare function meshoptDecodeIndexSequence(target: Uint8Array, count: number, size: number, source: Uint8Array): Promise<void>;
|
|
5
|
+
export declare function meshoptDecodeGltfBuffer(target: Uint8Array, count: number, size: number, source: Uint8Array, mode: string, filter?: string | number): Promise<void>;
|
|
6
|
+
//# sourceMappingURL=meshopt-decoder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meshopt-decoder.d.ts","sourceRoot":"","sources":["../../src/meshopt/meshopt-decoder.ts"],"names":[],"mappings":"AAkDA,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,EAClB,MAAM,GAAE,MAAM,GAAG,MAAe,GAC/B,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CAGf;AAGD,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,MAAM,GAAG,MAAe,GAC/B,OAAO,CAAC,IAAI,CAAC,CAWf"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare type WebPFeature = 'lossy' | 'lossless' | 'alpha' | 'animation';
|
|
2
|
+
/**
|
|
3
|
+
* Checks if WebP is supported
|
|
4
|
+
* @param features Array, can include 'lossy', 'lossless', 'alpha' or 'animation'
|
|
5
|
+
*/
|
|
6
|
+
export declare function isWebPSupported(features?: WebPFeature[]): Promise<boolean>;
|
|
7
|
+
//# sourceMappingURL=webp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webp.d.ts","sourceRoot":"","sources":["../../src/webp/webp.ts"],"names":[],"mappings":"AASA,oBAAY,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;AAIvE;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,GAAE,WAAW,EAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAI/F"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/gltf",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.5",
|
|
4
4
|
"description": "Framework-independent loader for the glTF format",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"GLB",
|
|
20
20
|
"glTF"
|
|
21
21
|
],
|
|
22
|
-
"types": "
|
|
22
|
+
"types": "dist/index.d.ts",
|
|
23
23
|
"main": "dist/index.js",
|
|
24
24
|
"module": "dist/index.js",
|
|
25
25
|
"sideEffects": false,
|
|
@@ -31,16 +31,13 @@
|
|
|
31
31
|
],
|
|
32
32
|
"scripts": {
|
|
33
33
|
"pre-build": "npm run build-bundle",
|
|
34
|
-
"build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/
|
|
34
|
+
"build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/dist.min.js"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@loaders.gl/draco": "4.0.0-alpha.
|
|
38
|
-
"@loaders.gl/images": "4.0.0-alpha.
|
|
39
|
-
"@loaders.gl/loader-utils": "4.0.0-alpha.
|
|
40
|
-
"@loaders.gl/textures": "4.0.0-alpha.
|
|
37
|
+
"@loaders.gl/draco": "4.0.0-alpha.5",
|
|
38
|
+
"@loaders.gl/images": "4.0.0-alpha.5",
|
|
39
|
+
"@loaders.gl/loader-utils": "4.0.0-alpha.5",
|
|
40
|
+
"@loaders.gl/textures": "4.0.0-alpha.5"
|
|
41
41
|
},
|
|
42
|
-
"
|
|
43
|
-
"@loaders.gl/core": "^3.0.0"
|
|
44
|
-
},
|
|
45
|
-
"gitHead": "53026061b3c8871f7e96d3a5826125cc6613bddc"
|
|
42
|
+
"gitHead": "7a71a54bdf1ddf985cc3af3db90b82e7fa97d025"
|
|
46
43
|
}
|
package/src/index.ts
CHANGED
|
@@ -14,6 +14,7 @@ export type {
|
|
|
14
14
|
GLTFSkin,
|
|
15
15
|
GLTFTexture,
|
|
16
16
|
GLTFImage,
|
|
17
|
+
GLTFImagePostprocessed,
|
|
17
18
|
// The following extensions are handled by the GLTFLoader and removed from the parsed glTF (disable via options.gltf.excludeExtensions)
|
|
18
19
|
GLTF_KHR_binary_glTF,
|
|
19
20
|
GLTF_KHR_draco_mesh_compression,
|
|
@@ -344,7 +344,7 @@ export default class GLTFScenegraph {
|
|
|
344
344
|
* `name`, `extensions`, `extras`, `camera`, `children`, `skin`, `rotation`, `scale`, `translation`, `weights`
|
|
345
345
|
* https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#node
|
|
346
346
|
*/
|
|
347
|
-
addNode(node: {meshIndex: number; matrix
|
|
347
|
+
addNode(node: {meshIndex: number; matrix?: number[]}): number {
|
|
348
348
|
const {meshIndex, matrix} = node;
|
|
349
349
|
this.json.nodes = this.json.nodes || [];
|
|
350
350
|
const nodeData = {mesh: meshIndex};
|
|
@@ -357,7 +357,7 @@ export default class GLTFScenegraph {
|
|
|
357
357
|
}
|
|
358
358
|
|
|
359
359
|
/** Adds a mesh to the json part */
|
|
360
|
-
addMesh(mesh: {attributes: object; indices
|
|
360
|
+
addMesh(mesh: {attributes: object; indices?: object; material?: number; mode?: number}): number {
|
|
361
361
|
const {attributes, indices, material, mode = 4} = mesh;
|
|
362
362
|
const accessors = this._addAttributes(attributes);
|
|
363
363
|
|
|
@@ -80,22 +80,24 @@ const GLTF_KEYS = {
|
|
|
80
80
|
* Converts (normalizes) glTF v1 to v2
|
|
81
81
|
*/
|
|
82
82
|
class GLTFV1Normalizer {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
83
|
+
idToIndexMap = {
|
|
84
|
+
animations: {},
|
|
85
|
+
accessors: {},
|
|
86
|
+
buffers: {},
|
|
87
|
+
bufferViews: {},
|
|
88
|
+
images: {},
|
|
89
|
+
materials: {},
|
|
90
|
+
meshes: {},
|
|
91
|
+
nodes: {},
|
|
92
|
+
samplers: {},
|
|
93
|
+
scenes: {},
|
|
94
|
+
skins: {},
|
|
95
|
+
textures: {}
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
json;
|
|
99
|
+
|
|
100
|
+
// constructor() {}
|
|
99
101
|
|
|
100
102
|
/**
|
|
101
103
|
* Convert (normalize) glTF < 2.0 to glTF 2.0
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {assert} from '../utils/assert';
|
|
2
2
|
import {getAccessorArrayTypeAndLength} from '../gltf-utils/gltf-utils';
|
|
3
|
+
import {BufferView} from '../types/gltf-json-schema';
|
|
4
|
+
import {BufferView as BufferViewPostprocessed} from '../types/gltf-postprocessed-schema';
|
|
3
5
|
|
|
4
6
|
// This is a post processor for loaded glTF files
|
|
5
7
|
// The goal is to make the loaded data easier to use in WebGL applications
|
|
@@ -56,7 +58,7 @@ const DEFAULT_SAMPLER = {
|
|
|
56
58
|
[GL_SAMPLER.TEXTURE_MAG_FILTER]: GL_SAMPLER.LINEAR,
|
|
57
59
|
[GL_SAMPLER.TEXTURE_MIN_FILTER]: GL_SAMPLER.NEAREST_MIPMAP_LINEAR,
|
|
58
60
|
[GL_SAMPLER.TEXTURE_WRAP_S]: GL_SAMPLER.REPEAT,
|
|
59
|
-
[GL_SAMPLER.
|
|
61
|
+
[GL_SAMPLER.TEXTURE_WRAP_T]: GL_SAMPLER.REPEAT
|
|
60
62
|
};
|
|
61
63
|
|
|
62
64
|
function getBytesFromComponentType(componentType) {
|
|
@@ -68,6 +70,11 @@ function getSizeFromAccessorType(type) {
|
|
|
68
70
|
}
|
|
69
71
|
|
|
70
72
|
class GLTFPostProcessor {
|
|
73
|
+
baseUri: string = '';
|
|
74
|
+
json: Record<string, any> = {};
|
|
75
|
+
buffers: [] = [];
|
|
76
|
+
images: [] = [];
|
|
77
|
+
|
|
71
78
|
postProcess(gltf, options = {}) {
|
|
72
79
|
const {json, buffers = [], images = [], baseUri = ''} = gltf;
|
|
73
80
|
assert(json);
|
|
@@ -303,13 +310,44 @@ class GLTFPostProcessor {
|
|
|
303
310
|
const {ArrayType, byteLength} = getAccessorArrayTypeAndLength(accessor, accessor.bufferView);
|
|
304
311
|
const byteOffset =
|
|
305
312
|
(accessor.bufferView.byteOffset || 0) + (accessor.byteOffset || 0) + buffer.byteOffset;
|
|
306
|
-
|
|
307
|
-
accessor.
|
|
313
|
+
let cutBuffer = buffer.arrayBuffer.slice(byteOffset, byteOffset + byteLength);
|
|
314
|
+
if (accessor.bufferView.byteStride) {
|
|
315
|
+
cutBuffer = this._getValueFromInterleavedBuffer(
|
|
316
|
+
buffer,
|
|
317
|
+
byteOffset,
|
|
318
|
+
accessor.bufferView.byteStride,
|
|
319
|
+
accessor.bytesPerElement,
|
|
320
|
+
accessor.count
|
|
321
|
+
);
|
|
322
|
+
}
|
|
323
|
+
accessor.value = new ArrayType(cutBuffer);
|
|
308
324
|
}
|
|
309
325
|
|
|
310
326
|
return accessor;
|
|
311
327
|
}
|
|
312
328
|
|
|
329
|
+
/**
|
|
330
|
+
* Take values of particular accessor from interleaved buffer
|
|
331
|
+
* various parts of the buffer
|
|
332
|
+
* @param buffer
|
|
333
|
+
* @param byteOffset
|
|
334
|
+
* @param byteStride
|
|
335
|
+
* @param bytesPerElement
|
|
336
|
+
* @param count
|
|
337
|
+
* @returns
|
|
338
|
+
*/
|
|
339
|
+
_getValueFromInterleavedBuffer(buffer, byteOffset, byteStride, bytesPerElement, count) {
|
|
340
|
+
const result = new Uint8Array(count * bytesPerElement);
|
|
341
|
+
for (let i = 0; i < count; i++) {
|
|
342
|
+
const elementOffset = byteOffset + i * byteStride;
|
|
343
|
+
result.set(
|
|
344
|
+
new Uint8Array(buffer.arrayBuffer.slice(elementOffset, elementOffset + bytesPerElement)),
|
|
345
|
+
i * bytesPerElement
|
|
346
|
+
);
|
|
347
|
+
}
|
|
348
|
+
return result.buffer;
|
|
349
|
+
}
|
|
350
|
+
|
|
313
351
|
_resolveTexture(texture, index) {
|
|
314
352
|
// texture = {...texture};
|
|
315
353
|
texture.id = texture.id || `texture-${index}`;
|
|
@@ -353,21 +391,26 @@ class GLTFPostProcessor {
|
|
|
353
391
|
return image;
|
|
354
392
|
}
|
|
355
393
|
|
|
356
|
-
_resolveBufferView(bufferView, index) {
|
|
394
|
+
_resolveBufferView(bufferView: BufferView, index: number): BufferViewPostprocessed {
|
|
357
395
|
// bufferView = {...bufferView};
|
|
358
|
-
bufferView.id = bufferView.id || `bufferView-${index}`;
|
|
359
396
|
const bufferIndex = bufferView.buffer;
|
|
360
|
-
|
|
397
|
+
const result: BufferViewPostprocessed = {
|
|
398
|
+
id: `bufferView-${index}`,
|
|
399
|
+
...bufferView,
|
|
400
|
+
buffer: this.buffers[bufferIndex]
|
|
401
|
+
};
|
|
361
402
|
|
|
403
|
+
// @ts-expect-error
|
|
362
404
|
const arrayBuffer = this.buffers[bufferIndex].arrayBuffer;
|
|
405
|
+
// @ts-expect-error
|
|
363
406
|
let byteOffset = this.buffers[bufferIndex].byteOffset || 0;
|
|
364
407
|
|
|
365
408
|
if ('byteOffset' in bufferView) {
|
|
366
409
|
byteOffset += bufferView.byteOffset;
|
|
367
410
|
}
|
|
368
411
|
|
|
369
|
-
|
|
370
|
-
return
|
|
412
|
+
result.data = new Uint8Array(arrayBuffer, byteOffset, bufferView.byteLength);
|
|
413
|
+
return result;
|
|
371
414
|
}
|
|
372
415
|
|
|
373
416
|
_resolveCamera(camera, index) {
|
|
@@ -383,6 +426,6 @@ class GLTFPostProcessor {
|
|
|
383
426
|
}
|
|
384
427
|
}
|
|
385
428
|
|
|
386
|
-
export function postProcessGLTF(gltf, options) {
|
|
429
|
+
export function postProcessGLTF(gltf, options?) {
|
|
387
430
|
return new GLTFPostProcessor().postProcess(gltf, options);
|
|
388
431
|
}
|
|
File without changes
|
|
File without changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// GLTF EXTENSION:
|
|
2
|
-
// https://github.com/KhronosGroup/glTF/tree/
|
|
1
|
+
// GLTF EXTENSION: KHR_texture_basisu
|
|
2
|
+
// https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_texture_basisu
|
|
3
3
|
/* eslint-disable camelcase */
|
|
4
4
|
|
|
5
5
|
import type {GLTF, GLTF_KHR_texture_basisu} from '../types/gltf-types';
|
|
@@ -212,7 +212,7 @@ async function loadImage(
|
|
|
212
212
|
let parsedImage = await parse(
|
|
213
213
|
arrayBuffer,
|
|
214
214
|
[ImageLoader, BasisLoader],
|
|
215
|
-
{mimeType: image.mimeType, basis: {format: selectSupportedBasisFormat()}},
|
|
215
|
+
{mimeType: image.mimeType, basis: options.basis || {format: selectSupportedBasisFormat()}},
|
|
216
216
|
context
|
|
217
217
|
);
|
|
218
218
|
|
|
@@ -222,7 +222,7 @@ async function loadImage(
|
|
|
222
222
|
mipmaps: false,
|
|
223
223
|
width: parsedImage[0].width,
|
|
224
224
|
height: parsedImage[0].height,
|
|
225
|
-
data: parsedImage
|
|
225
|
+
data: parsedImage[0]
|
|
226
226
|
};
|
|
227
227
|
}
|
|
228
228
|
// TODO making sure ImageLoader is overridable by using array of loaders
|
|
@@ -220,10 +220,11 @@ export interface Buffer {
|
|
|
220
220
|
* A view into a buffer generally representing a subset of the buffer.
|
|
221
221
|
*/
|
|
222
222
|
export interface BufferView {
|
|
223
|
+
id: string;
|
|
223
224
|
/**
|
|
224
225
|
* The index of the buffer.
|
|
225
226
|
*/
|
|
226
|
-
buffer:
|
|
227
|
+
buffer: ArrayBuffer;
|
|
227
228
|
/**
|
|
228
229
|
* The offset into the buffer in bytes.
|
|
229
230
|
*/
|
|
@@ -329,7 +330,7 @@ export interface Image {
|
|
|
329
330
|
/**
|
|
330
331
|
* The index of the bufferView that contains the image. Use this instead of the image's uri property.
|
|
331
332
|
*/
|
|
332
|
-
bufferView?:
|
|
333
|
+
bufferView?: BufferView;
|
|
333
334
|
name?: any;
|
|
334
335
|
extensions?: any;
|
|
335
336
|
extras?: any;
|
|
@@ -22,6 +22,8 @@ import type {
|
|
|
22
22
|
GLTF_EXT_texture_webp
|
|
23
23
|
} from './gltf-json-schema';
|
|
24
24
|
|
|
25
|
+
import type {Image as GLTFImagePostprocessed} from './gltf-postprocessed-schema';
|
|
26
|
+
|
|
25
27
|
export type {
|
|
26
28
|
GLTF,
|
|
27
29
|
GLTFAccessor,
|
|
@@ -40,7 +42,8 @@ export type {
|
|
|
40
42
|
GLTF_KHR_draco_mesh_compression,
|
|
41
43
|
GLTF_KHR_texture_basisu,
|
|
42
44
|
GLTF_EXT_meshopt_compression,
|
|
43
|
-
GLTF_EXT_texture_webp
|
|
45
|
+
GLTF_EXT_texture_webp,
|
|
46
|
+
GLTFImagePostprocessed
|
|
44
47
|
};
|
|
45
48
|
|
|
46
49
|
export type GLTFObject =
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Replacement for the external assert method to reduce bundle size
|
|
2
2
|
// Note: We don't use the second "message" argument in calling code,
|
|
3
3
|
// so no need to support it here
|
|
4
|
-
export function assert(condition, message) {
|
|
4
|
+
export function assert(condition: unknown, message?: string): void {
|
|
5
5
|
if (!condition) {
|
|
6
6
|
throw new Error(message || 'assert failed: gltf');
|
|
7
7
|
}
|
|
File without changes
|