@loaders.gl/gltf 4.2.0-alpha.4 → 4.2.0-alpha.6
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/dist.dev.js +1056 -524
- package/dist/dist.min.js +9 -0
- package/dist/glb-loader.d.ts +2 -2
- package/dist/glb-loader.d.ts.map +1 -1
- package/dist/glb-loader.js +22 -21
- package/dist/glb-writer.d.ts +2 -2
- package/dist/glb-writer.d.ts.map +1 -1
- package/dist/glb-writer.js +27 -24
- package/dist/gltf-loader.d.ts +3 -3
- package/dist/gltf-loader.d.ts.map +1 -1
- package/dist/gltf-loader.js +31 -36
- package/dist/gltf-writer.js +24 -26
- package/dist/index.cjs +138 -330
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +17 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/lib/api/gltf-extensions.d.ts +2 -2
- package/dist/lib/api/gltf-extensions.d.ts.map +1 -1
- package/dist/lib/api/gltf-extensions.js +45 -22
- package/dist/lib/api/gltf-scenegraph.d.ts +2 -2
- package/dist/lib/api/gltf-scenegraph.d.ts.map +1 -1
- package/dist/lib/api/gltf-scenegraph.js +565 -438
- package/dist/lib/api/normalize-gltf-v1.js +249 -181
- package/dist/lib/api/post-process-gltf.d.ts +3 -3
- package/dist/lib/api/post-process-gltf.d.ts.map +1 -1
- package/dist/lib/api/post-process-gltf.js +378 -340
- package/dist/lib/encoders/encode-glb.js +62 -48
- package/dist/lib/encoders/encode-gltf.js +24 -10
- package/dist/lib/extensions/EXT_mesh_features.d.ts +2 -2
- package/dist/lib/extensions/EXT_mesh_features.d.ts.map +1 -1
- package/dist/lib/extensions/EXT_mesh_features.js +55 -33
- package/dist/lib/extensions/EXT_meshopt_compression.d.ts +2 -2
- package/dist/lib/extensions/EXT_meshopt_compression.d.ts.map +1 -1
- package/dist/lib/extensions/EXT_meshopt_compression.js +27 -31
- package/dist/lib/extensions/EXT_structural_metadata.d.ts +2 -2
- package/dist/lib/extensions/EXT_structural_metadata.d.ts.map +1 -1
- package/dist/lib/extensions/EXT_structural_metadata.js +434 -230
- package/dist/lib/extensions/EXT_texture_webp.d.ts +2 -2
- package/dist/lib/extensions/EXT_texture_webp.d.ts.map +1 -1
- package/dist/lib/extensions/EXT_texture_webp.js +24 -17
- package/dist/lib/extensions/KHR_binary_gltf.d.ts +1 -1
- package/dist/lib/extensions/KHR_binary_gltf.d.ts.map +1 -1
- package/dist/lib/extensions/KHR_binary_gltf.js +29 -15
- package/dist/lib/extensions/KHR_draco_mesh_compression.d.ts +2 -2
- package/dist/lib/extensions/KHR_draco_mesh_compression.d.ts.map +1 -1
- package/dist/lib/extensions/KHR_draco_mesh_compression.js +110 -87
- package/dist/lib/extensions/KHR_texture_basisu.d.ts +2 -2
- package/dist/lib/extensions/KHR_texture_basisu.d.ts.map +1 -1
- package/dist/lib/extensions/KHR_texture_basisu.js +19 -12
- package/dist/lib/extensions/KHR_texture_transform.d.ts +2 -2
- package/dist/lib/extensions/KHR_texture_transform.d.ts.map +1 -1
- package/dist/lib/extensions/KHR_texture_transform.js +188 -156
- package/dist/lib/extensions/deprecated/EXT_feature_metadata.d.ts +2 -2
- package/dist/lib/extensions/deprecated/EXT_feature_metadata.d.ts.map +1 -1
- package/dist/lib/extensions/deprecated/EXT_feature_metadata.js +263 -143
- package/dist/lib/extensions/deprecated/KHR_lights_punctual.d.ts +1 -1
- package/dist/lib/extensions/deprecated/KHR_lights_punctual.d.ts.map +1 -1
- package/dist/lib/extensions/deprecated/KHR_lights_punctual.js +44 -32
- package/dist/lib/extensions/deprecated/KHR_materials_unlit.d.ts +1 -1
- package/dist/lib/extensions/deprecated/KHR_materials_unlit.d.ts.map +1 -1
- package/dist/lib/extensions/deprecated/KHR_materials_unlit.js +30 -24
- package/dist/lib/extensions/deprecated/KHR_techniques_webgl.d.ts +1 -1
- package/dist/lib/extensions/deprecated/KHR_techniques_webgl.d.ts.map +1 -1
- package/dist/lib/extensions/deprecated/KHR_techniques_webgl.js +65 -52
- package/dist/lib/extensions/utils/3d-tiles-utils.d.ts +2 -2
- package/dist/lib/extensions/utils/3d-tiles-utils.d.ts.map +1 -1
- package/dist/lib/extensions/utils/3d-tiles-utils.js +298 -181
- package/dist/lib/gltf-utils/get-typed-array.d.ts +1 -1
- package/dist/lib/gltf-utils/get-typed-array.d.ts.map +1 -1
- package/dist/lib/gltf-utils/get-typed-array.js +54 -42
- package/dist/lib/gltf-utils/gltf-attribute-utils.d.ts +1 -1
- package/dist/lib/gltf-utils/gltf-attribute-utils.d.ts.map +1 -1
- package/dist/lib/gltf-utils/gltf-attribute-utils.js +58 -52
- package/dist/lib/gltf-utils/gltf-constants.js +27 -27
- package/dist/lib/gltf-utils/gltf-utils.d.ts +1 -1
- package/dist/lib/gltf-utils/gltf-utils.d.ts.map +1 -1
- package/dist/lib/gltf-utils/gltf-utils.js +67 -60
- package/dist/lib/gltf-utils/resolve-url.js +12 -10
- package/dist/lib/parsers/parse-glb.d.ts +1 -1
- package/dist/lib/parsers/parse-glb.d.ts.map +1 -1
- package/dist/lib/parsers/parse-glb.js +132 -89
- package/dist/lib/parsers/parse-gltf.d.ts +3 -3
- package/dist/lib/parsers/parse-gltf.d.ts.map +1 -1
- package/dist/lib/parsers/parse-gltf.js +155 -126
- package/dist/lib/types/glb-types.js +0 -1
- package/dist/lib/types/gltf-ext-feature-metadata-schema.d.ts +1 -1
- package/dist/lib/types/gltf-ext-feature-metadata-schema.d.ts.map +1 -1
- package/dist/lib/types/gltf-ext-feature-metadata-schema.js +0 -1
- package/dist/lib/types/gltf-ext-mesh-features-schema.d.ts +1 -1
- package/dist/lib/types/gltf-ext-mesh-features-schema.d.ts.map +1 -1
- package/dist/lib/types/gltf-ext-mesh-features-schema.js +0 -1
- package/dist/lib/types/gltf-ext-structural-metadata-schema.d.ts +1 -1
- package/dist/lib/types/gltf-ext-structural-metadata-schema.d.ts.map +1 -1
- package/dist/lib/types/gltf-ext-structural-metadata-schema.js +0 -1
- package/dist/lib/types/gltf-json-schema.js +2 -1
- package/dist/lib/types/gltf-postprocessed-schema.js +2 -1
- package/dist/lib/types/gltf-types.d.ts +3 -3
- package/dist/lib/types/gltf-types.d.ts.map +1 -1
- package/dist/lib/types/gltf-types.js +1 -1
- package/dist/lib/utils/assert.js +6 -4
- package/dist/lib/utils/version.js +4 -2
- package/dist/meshopt/meshopt-decoder.js +86 -67
- package/dist/webp/webp.js +28 -19
- package/package.json +13 -8
- package/src/lib/extensions/KHR_texture_transform.ts +18 -24
- package/dist/glb-loader.js.map +0 -1
- package/dist/glb-writer.js.map +0 -1
- package/dist/gltf-loader.js.map +0 -1
- package/dist/gltf-writer.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/api/gltf-extensions.js.map +0 -1
- package/dist/lib/api/gltf-scenegraph.js.map +0 -1
- package/dist/lib/api/normalize-gltf-v1.js.map +0 -1
- package/dist/lib/api/post-process-gltf.js.map +0 -1
- package/dist/lib/encoders/encode-glb.js.map +0 -1
- package/dist/lib/encoders/encode-gltf.js.map +0 -1
- package/dist/lib/extensions/EXT_mesh_features.js.map +0 -1
- package/dist/lib/extensions/EXT_meshopt_compression.js.map +0 -1
- package/dist/lib/extensions/EXT_structural_metadata.js.map +0 -1
- package/dist/lib/extensions/EXT_texture_webp.js.map +0 -1
- package/dist/lib/extensions/KHR_binary_gltf.js.map +0 -1
- package/dist/lib/extensions/KHR_draco_mesh_compression.js.map +0 -1
- package/dist/lib/extensions/KHR_texture_basisu.js.map +0 -1
- package/dist/lib/extensions/KHR_texture_transform.js.map +0 -1
- package/dist/lib/extensions/deprecated/EXT_feature_metadata.js.map +0 -1
- package/dist/lib/extensions/deprecated/KHR_lights_punctual.js.map +0 -1
- package/dist/lib/extensions/deprecated/KHR_materials_unlit.js.map +0 -1
- package/dist/lib/extensions/deprecated/KHR_techniques_webgl.js.map +0 -1
- package/dist/lib/extensions/utils/3d-tiles-utils.js.map +0 -1
- package/dist/lib/gltf-utils/get-typed-array.js.map +0 -1
- package/dist/lib/gltf-utils/gltf-attribute-utils.js.map +0 -1
- package/dist/lib/gltf-utils/gltf-constants.js.map +0 -1
- package/dist/lib/gltf-utils/gltf-utils.js.map +0 -1
- package/dist/lib/gltf-utils/resolve-url.js.map +0 -1
- package/dist/lib/parsers/parse-glb.js.map +0 -1
- package/dist/lib/parsers/parse-gltf.js.map +0 -1
- package/dist/lib/types/glb-types.js.map +0 -1
- package/dist/lib/types/gltf-ext-feature-metadata-schema.js.map +0 -1
- package/dist/lib/types/gltf-ext-mesh-features-schema.js.map +0 -1
- package/dist/lib/types/gltf-ext-structural-metadata-schema.js.map +0 -1
- package/dist/lib/types/gltf-json-schema.js.map +0 -1
- package/dist/lib/types/gltf-postprocessed-schema.js.map +0 -1
- package/dist/lib/types/gltf-types.js.map +0 -1
- package/dist/lib/utils/assert.js.map +0 -1
- package/dist/lib/utils/version.js.map +0 -1
- package/dist/meshopt/meshopt-decoder.js.map +0 -1
- package/dist/meshopt/meshopt-encoder.ts.disabled +0 -409
- package/dist/webp/webp.js.map +0 -1
|
@@ -1,61 +1,74 @@
|
|
|
1
|
+
// GLTF EXTENSION: KHR_techniques_webgl
|
|
2
|
+
// https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_techniques_webgl
|
|
1
3
|
import { GLTFScenegraph } from "../../api/gltf-scenegraph.js";
|
|
2
4
|
const KHR_TECHNIQUES_WEBGL = 'KHR_techniques_webgl';
|
|
3
5
|
export const name = KHR_TECHNIQUES_WEBGL;
|
|
4
6
|
export async function decode(gltfData) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
const gltfScenegraph = new GLTFScenegraph(gltfData);
|
|
8
|
+
const { json } = gltfScenegraph;
|
|
9
|
+
const extension = gltfScenegraph.getExtension(KHR_TECHNIQUES_WEBGL);
|
|
10
|
+
if (extension) {
|
|
11
|
+
const techniques = resolveTechniques(extension, gltfScenegraph);
|
|
12
|
+
for (const material of json.materials || []) {
|
|
13
|
+
const materialExtension = gltfScenegraph.getObjectExtension(material, KHR_TECHNIQUES_WEBGL);
|
|
14
|
+
if (materialExtension) {
|
|
15
|
+
// @ts-ignore TODO
|
|
16
|
+
material.technique = Object.assign({}, materialExtension,
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
techniques[materialExtension.technique]);
|
|
19
|
+
// @ts-ignore TODO
|
|
20
|
+
material.technique.values = resolveValues(material.technique, gltfScenegraph);
|
|
21
|
+
}
|
|
22
|
+
gltfScenegraph.removeObjectExtension(material, KHR_TECHNIQUES_WEBGL);
|
|
23
|
+
}
|
|
24
|
+
// Remove the top-level extension
|
|
25
|
+
gltfScenegraph.removeExtension(KHR_TECHNIQUES_WEBGL);
|
|
19
26
|
}
|
|
20
|
-
gltfScenegraph.removeExtension(KHR_TECHNIQUES_WEBGL);
|
|
21
|
-
}
|
|
22
27
|
}
|
|
23
|
-
|
|
24
|
-
function
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
28
|
+
// eslint-disable-next-line
|
|
29
|
+
export async function encode(gltfData, options) {
|
|
30
|
+
// TODO
|
|
31
|
+
}
|
|
32
|
+
function resolveTechniques(techniquesExtension,
|
|
33
|
+
// programs: {[key: string]: any}[],
|
|
34
|
+
// shaders: {[key: string]: any}[],
|
|
35
|
+
// techniques: {[key: string]: any}[]
|
|
36
|
+
gltfScenegraph) {
|
|
37
|
+
const { programs = [], shaders = [], techniques = [] } = techniquesExtension;
|
|
38
|
+
const textDecoder = new TextDecoder();
|
|
39
|
+
shaders.forEach((shader) => {
|
|
40
|
+
if (Number.isFinite(shader.bufferView)) {
|
|
41
|
+
shader.code = textDecoder.decode(gltfScenegraph.getTypedArrayForBufferView(shader.bufferView));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
// TODO: handle URI shader
|
|
45
|
+
throw new Error('KHR_techniques_webgl: no shader code');
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
programs.forEach((program) => {
|
|
49
|
+
program.fragmentShader = shaders[program.fragmentShader];
|
|
50
|
+
program.vertexShader = shaders[program.vertexShader];
|
|
51
|
+
});
|
|
52
|
+
techniques.forEach((technique) => {
|
|
53
|
+
technique.program = programs[technique.program];
|
|
54
|
+
});
|
|
55
|
+
return techniques;
|
|
46
56
|
}
|
|
47
57
|
function resolveValues(technique, gltfScenegraph) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
const values = Object.assign({}, technique.values);
|
|
59
|
+
// merge values from uniforms
|
|
60
|
+
Object.keys(technique.uniforms || {}).forEach((uniform) => {
|
|
61
|
+
if (technique.uniforms[uniform].value && !(uniform in values)) {
|
|
62
|
+
values[uniform] = technique.uniforms[uniform].value;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
// resolve textures
|
|
66
|
+
Object.keys(values).forEach((uniform) => {
|
|
67
|
+
if (typeof values[uniform] === 'object' && values[uniform].index !== undefined) {
|
|
68
|
+
// Assume this is a texture
|
|
69
|
+
// TODO: find if there are any other types that can be referenced
|
|
70
|
+
values[uniform].texture = gltfScenegraph.getTexture(values[uniform].index);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
return values;
|
|
60
74
|
}
|
|
61
|
-
//# sourceMappingURL=KHR_techniques_webgl.js.map
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* * EXT_mesh_features
|
|
7
7
|
* * EXT_structural_metadata
|
|
8
8
|
*/
|
|
9
|
-
import type { GLTFTextureInfoMetadata, GLTFMeshPrimitive } from
|
|
9
|
+
import type { GLTFTextureInfoMetadata, GLTFMeshPrimitive } from "../../types/gltf-json-schema.js";
|
|
10
10
|
import type { BigTypedArray, TypedArray } from '@loaders.gl/schema';
|
|
11
|
-
import { GLTFScenegraph } from
|
|
11
|
+
import { GLTFScenegraph } from "../../api/gltf-scenegraph.js";
|
|
12
12
|
export type NumericComponentType = 'INT8' | 'UINT8' | 'INT16' | 'UINT16' | 'INT32' | 'UINT32' | 'INT64' | 'UINT64' | 'FLOAT32' | 'FLOAT64';
|
|
13
13
|
export declare function getArrayElementByteSize(attributeType: any, componentType: any): number;
|
|
14
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3d-tiles-utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/extensions/utils/3d-tiles-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAC,uBAAuB,EAAE,iBAAiB,EAAC,
|
|
1
|
+
{"version":3,"file":"3d-tiles-utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/extensions/utils/3d-tiles-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAC,uBAAuB,EAAE,iBAAiB,EAAC,wCAAqC;AAC7F,OAAO,KAAK,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAGlE,OAAO,EAAC,cAAc,EAAC,qCAAkC;AAQzD,MAAM,MAAM,oBAAoB,GAC5B,MAAM,GACN,OAAO,GACP,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;AAyCd,wBAAgB,uBAAuB,CAAC,aAAa,KAAA,EAAE,aAAa,KAAA,GAAG,MAAM,CAK5E;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,cAAc,EAC1B,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,EAC7D,gBAAgB,EAAE,MAAM,GACvB,UAAU,GAAG,IAAI,CAsBnB;AAED;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,oBAAoB,EACnC,YAAY,GAAE,MAAU,GACvB,aAAa,CAcf;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,uBAAuB,EACpC,SAAS,EAAE,iBAAiB,GAC3B,MAAM,EAAE,CA6CV;AAED;;;;;;;;;GASG;AACH,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,MAAM,EAAE,EACtB,SAAS,EAAE,iBAAiB,GAC3B,IAAI,CAkCN;AAsFD;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,aAAa,EACzB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,UAAU,EACxB,qBAAqB,EAAE,MAAM,EAC7B,SAAS,EAAE,MAAM,GAChB,aAAa,EAAE,CAajB;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,aAAa,EACzB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,aAAa,EAAE,CAOjB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,UAAU,EAC3B,YAAY,EAAE,UAAU,GAAG,IAAI,EAC/B,aAAa,EAAE,UAAU,GAAG,IAAI,GAC/B,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CA0BvB"}
|