@loaders.gl/gltf 3.2.3 → 3.3.0-alpha.1

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 (33) hide show
  1. package/dist/dist.min.js +1402 -36
  2. package/dist/es5/lib/api/gltf-extensions.js +3 -1
  3. package/dist/es5/lib/api/gltf-extensions.js.map +1 -1
  4. package/dist/es5/lib/extensions/KHR_texture_transform.js +293 -0
  5. package/dist/es5/lib/extensions/KHR_texture_transform.js.map +1 -0
  6. package/dist/es5/lib/gltf-utils/gltf-constants.js +3 -0
  7. package/dist/es5/lib/gltf-utils/gltf-constants.js.map +1 -1
  8. package/dist/es5/lib/utils/version.js +1 -1
  9. package/dist/es5/lib/utils/version.js.map +1 -1
  10. package/dist/esm/lib/api/gltf-extensions.js +2 -1
  11. package/dist/esm/lib/api/gltf-extensions.js.map +1 -1
  12. package/dist/esm/lib/extensions/KHR_texture_transform.js +218 -0
  13. package/dist/esm/lib/extensions/KHR_texture_transform.js.map +1 -0
  14. package/dist/esm/lib/gltf-utils/gltf-constants.js +2 -2
  15. package/dist/esm/lib/gltf-utils/gltf-constants.js.map +1 -1
  16. package/dist/esm/lib/utils/version.js +1 -1
  17. package/dist/esm/lib/utils/version.js.map +1 -1
  18. package/dist/lib/api/gltf-extensions.d.ts +5 -0
  19. package/dist/lib/api/gltf-extensions.d.ts.map +1 -1
  20. package/dist/lib/api/gltf-extensions.js +3 -1
  21. package/dist/lib/extensions/KHR_texture_transform.d.ts +13 -0
  22. package/dist/lib/extensions/KHR_texture_transform.d.ts.map +1 -0
  23. package/dist/lib/extensions/KHR_texture_transform.js +230 -0
  24. package/dist/lib/gltf-utils/gltf-constants.d.ts +17 -0
  25. package/dist/lib/gltf-utils/gltf-constants.d.ts.map +1 -1
  26. package/dist/lib/gltf-utils/gltf-constants.js +5 -5
  27. package/dist/lib/types/gltf-json-schema.d.ts +2 -2
  28. package/dist/lib/types/gltf-json-schema.d.ts.map +1 -1
  29. package/package.json +7 -6
  30. package/src/lib/api/gltf-extensions.ts +11 -2
  31. package/src/lib/extensions/KHR_texture_transform.ts +305 -0
  32. package/src/lib/gltf-utils/gltf-constants.ts +2 -2
  33. package/src/lib/types/gltf-json-schema.ts +2 -2
@@ -357,7 +357,7 @@ export interface MaterialPbrMetallicRoughness {
357
357
  extras?: any;
358
358
  }
359
359
  export interface MaterialNormalTextureInfo {
360
- index?: any;
360
+ index: any;
361
361
  texCoord?: any;
362
362
  /**
363
363
  * The scalar multiplier applied to each normal vector of the normal texture.
@@ -367,7 +367,7 @@ export interface MaterialNormalTextureInfo {
367
367
  extras?: any;
368
368
  }
369
369
  export interface MaterialOcclusionTextureInfo {
370
- index?: any;
370
+ index: any;
371
371
  texCoord?: any;
372
372
  /**
373
373
  * A scalar multiplier controlling the amount of occlusion applied.
@@ -1 +1 @@
1
- {"version":3,"file":"gltf-json-schema.d.ts","sourceRoot":"","sources":["../../../src/lib/types/gltf-json-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gltf-json-schema.d.ts","sourceRoot":"","sources":["../../../src/lib/types/gltf-json-schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/gltf",
3
- "version": "3.2.3",
3
+ "version": "3.3.0-alpha.1",
4
4
  "description": "Framework-independent loader for the glTF format",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -34,10 +34,11 @@
34
34
  "build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/dist.min.js"
35
35
  },
36
36
  "dependencies": {
37
- "@loaders.gl/draco": "3.2.3",
38
- "@loaders.gl/images": "3.2.3",
39
- "@loaders.gl/loader-utils": "3.2.3",
40
- "@loaders.gl/textures": "3.2.3"
37
+ "@loaders.gl/draco": "3.3.0-alpha.1",
38
+ "@loaders.gl/images": "3.3.0-alpha.1",
39
+ "@loaders.gl/loader-utils": "3.3.0-alpha.1",
40
+ "@loaders.gl/textures": "3.3.0-alpha.1",
41
+ "@math.gl/core": "^3.5.1"
41
42
  },
42
- "gitHead": "ddb4a1f3c0bd948135fd3c3b83481e0a7809f4d7"
43
+ "gitHead": "85ed2df7d17dd0d204c8bd8feb44779f70bc693b"
43
44
  }
@@ -10,6 +10,7 @@ import * as EXT_meshopt_compression from '../extensions/EXT_meshopt_compression'
10
10
  import * as EXT_texture_webp from '../extensions/EXT_texture_webp';
11
11
  import * as KHR_texture_basisu from '../extensions/KHR_texture_basisu';
12
12
  import * as KHR_draco_mesh_compression from '../extensions/KHR_draco_mesh_compression';
13
+ import * as KHR_texture_transform from '../extensions/KHR_texture_transform';
13
14
 
14
15
  // Deprecated. These should be handled by rendering library (e.g. luma.gl), not the loader.
15
16
  import * as KHR_lights_punctual from '../extensions/deprecated/KHR_lights_punctual';
@@ -21,7 +22,14 @@ import * as KHR_techniques_webgl from '../extensions/deprecated/KHR_techniques_w
21
22
  type GLTFExtensionPlugin = {
22
23
  name: string;
23
24
  preprocess?: (gltfData: {json: GLTF}, options: GLTFLoaderOptions, context) => void;
24
- decode?: (gltfData: {json: GLTF}, options: GLTFLoaderOptions, context) => Promise<void>;
25
+ decode?: (
26
+ gltfData: {
27
+ json: GLTF;
28
+ buffers: {arrayBuffer: ArrayBuffer; byteOffset: number; byteLength: number}[];
29
+ },
30
+ options: GLTFLoaderOptions,
31
+ context
32
+ ) => Promise<void>;
25
33
  encode?: (gltfData: {json: GLTF}, options: GLTFLoaderOptions) => void;
26
34
  };
27
35
 
@@ -43,7 +51,8 @@ export const EXTENSIONS: GLTFExtensionPlugin[] = [
43
51
  KHR_draco_mesh_compression,
44
52
  KHR_lights_punctual,
45
53
  KHR_materials_unlit,
46
- KHR_techniques_webgl
54
+ KHR_techniques_webgl,
55
+ KHR_texture_transform
47
56
  ];
48
57
 
49
58
  /** Call before any resource loading starts */
@@ -0,0 +1,305 @@
1
+ /**
2
+ * https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_transform/README.md
3
+ */
4
+
5
+ import {Vector3, Matrix3} from '@math.gl/core';
6
+ import type {GLTFMeshPrimitive, GLTFWithBuffers} from '../types/gltf-types';
7
+ import type {GLTFLoaderOptions} from '../../gltf-loader';
8
+ import {getAccessorArrayTypeAndLength} from '../gltf-utils/gltf-utils';
9
+ import {BYTES, COMPONENTS} from '../gltf-utils/gltf-constants';
10
+ import {
11
+ Accessor,
12
+ BufferView,
13
+ MaterialNormalTextureInfo,
14
+ MaterialOcclusionTextureInfo,
15
+ TextureInfo as GLTFTextureInfo
16
+ } from '../types/gltf-json-schema';
17
+ import GLTFScenegraph from '../api/gltf-scenegraph';
18
+
19
+ /** Extension name */
20
+ const EXT_MESHOPT_TRANSFORM = 'KHR_texture_transform';
21
+
22
+ export const name = EXT_MESHOPT_TRANSFORM;
23
+
24
+ const scratchVector = new Vector3();
25
+ const scratchRotationMatrix = new Matrix3();
26
+ const scratchScaleMatrix = new Matrix3();
27
+
28
+ /** Extension textureInfo https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_texture_transform#gltf-schema-updates */
29
+ type TextureInfo = {
30
+ /** The offset of the UV coordinate origin as a factor of the texture dimensions. */
31
+ offset?: [number, number];
32
+ /** Rotate the UVs by this many radians counter-clockwise around the origin. This is equivalent to a similar rotation of the image clockwise. */
33
+ rotation?: number;
34
+ /** The scale factor applied to the components of the UV coordinates. */
35
+ scale?: [number, number];
36
+ /** Overrides the textureInfo texCoord value if supplied, and if this extension is supported. */
37
+ texCoord?: number;
38
+ };
39
+ /** Intersection of all GLTF textures */
40
+ type CompoundGLTFTextureInfo = GLTFTextureInfo &
41
+ MaterialNormalTextureInfo &
42
+ MaterialOcclusionTextureInfo;
43
+ /** Parameters for TEXCOORD transformation */
44
+ type TransformParameters = {
45
+ /** Original texCoord value https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html#_textureinfo_texcoord */
46
+ originalTexCoord: number;
47
+ /** New texCoord value from extension https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_texture_transform#gltf-schema-updates */
48
+ texCoord: number;
49
+ /** Transformation matrix */
50
+ matrix: Matrix3;
51
+ };
52
+
53
+ /**
54
+ * The extension entry to process the transformation
55
+ * @param gltfData gltf buffers and json
56
+ * @param options GLTFLoader options
57
+ */
58
+ export async function decode(gltfData: GLTFWithBuffers, options: GLTFLoaderOptions) {
59
+ const gltfScenegraph = new GLTFScenegraph(gltfData);
60
+ const extension = gltfScenegraph.getExtension(EXT_MESHOPT_TRANSFORM);
61
+ if (!extension) {
62
+ return;
63
+ }
64
+ const materials = gltfData.json.materials || [];
65
+ for (let i = 0; i < materials.length; i++) {
66
+ transformTexCoords(i, gltfData);
67
+ }
68
+ }
69
+
70
+ /**
71
+ * Transform TEXCOORD by material
72
+ * @param materialIndex processing material index
73
+ * @param gltfData gltf buffers and json
74
+ */
75
+ function transformTexCoords(materialIndex: number, gltfData: GLTFWithBuffers): void {
76
+ // Save processed texCoords in order no to process the same twice
77
+ const processedTexCoords: [number, number][] = [];
78
+ const material = gltfData.json.materials?.[materialIndex];
79
+ const baseColorTexture = material?.pbrMetallicRoughness?.baseColorTexture;
80
+ if (baseColorTexture) {
81
+ transformPrimitives(gltfData, materialIndex, baseColorTexture, processedTexCoords);
82
+ }
83
+ const emisiveTexture = material?.emissiveTexture;
84
+ if (emisiveTexture) {
85
+ transformPrimitives(gltfData, materialIndex, emisiveTexture, processedTexCoords);
86
+ }
87
+ const normalTexture = material?.normalTexture;
88
+ if (normalTexture) {
89
+ transformPrimitives(gltfData, materialIndex, normalTexture, processedTexCoords);
90
+ }
91
+ const occlusionTexture = material?.occlusionTexture;
92
+ if (occlusionTexture) {
93
+ transformPrimitives(gltfData, materialIndex, occlusionTexture, processedTexCoords);
94
+ }
95
+ const metallicRoughnessTexture = material?.pbrMetallicRoughness?.metallicRoughnessTexture;
96
+ if (metallicRoughnessTexture) {
97
+ transformPrimitives(gltfData, materialIndex, metallicRoughnessTexture, processedTexCoords);
98
+ }
99
+ }
100
+
101
+ /**
102
+ * Transform primitives of the particular material
103
+ * @param gltfData gltf data
104
+ * @param materialIndex primitives with this material will be transformed
105
+ * @param texture texture object
106
+ * @param processedTexCoords storage to save already processed texCoords
107
+ */
108
+ function transformPrimitives(
109
+ gltfData: GLTFWithBuffers,
110
+ materialIndex: number,
111
+ texture: CompoundGLTFTextureInfo,
112
+ processedTexCoords: [number, number][]
113
+ ) {
114
+ const transformParameters = getTransformParameters(texture, processedTexCoords);
115
+ if (!transformParameters) {
116
+ return;
117
+ }
118
+ const meshes = gltfData.json.meshes || [];
119
+ for (const mesh of meshes) {
120
+ for (const primitive of mesh.primitives) {
121
+ const material = primitive.material;
122
+ if (Number.isFinite(material) && materialIndex === material) {
123
+ transformPrimitive(gltfData, primitive, transformParameters);
124
+ }
125
+ }
126
+ }
127
+ }
128
+
129
+ /**
130
+ * Get parameters for TEXCOORD transformation
131
+ * @param texture texture object
132
+ * @param processedTexCoords storage to save already processed texCoords
133
+ * @returns texCoord couple and transformation matrix
134
+ */
135
+ function getTransformParameters(
136
+ texture: CompoundGLTFTextureInfo,
137
+ processedTexCoords: [number, number][]
138
+ ): TransformParameters | null {
139
+ const textureInfo = texture.extensions?.[EXT_MESHOPT_TRANSFORM];
140
+ const {texCoord: originalTexCoord = 0} = texture;
141
+ // If texCoord is not set in the extension, original attribute data will be replaced
142
+ const {texCoord = originalTexCoord} = textureInfo;
143
+ // Make sure that couple [originalTexCoord, extensionTexCoord] is not processed twice
144
+ const isProcessed =
145
+ processedTexCoords.findIndex(
146
+ ([original, newTexCoord]) => original === originalTexCoord && newTexCoord === texCoord
147
+ ) !== -1;
148
+ if (!isProcessed) {
149
+ const matrix = makeTransformationMatrix(textureInfo);
150
+ if (originalTexCoord !== texCoord) {
151
+ texture.texCoord = texCoord;
152
+ }
153
+ processedTexCoords.push([originalTexCoord, texCoord]);
154
+ return {originalTexCoord, texCoord, matrix};
155
+ }
156
+ return null;
157
+ }
158
+
159
+ /**
160
+ * Transform `TEXCOORD_0` attribute in the primitive
161
+ * @param gltfData gltf data
162
+ * @param primitive primitive object
163
+ * @param transformParameters texCoord couple and transformation matrix
164
+ */
165
+ function transformPrimitive(
166
+ gltfData: GLTFWithBuffers,
167
+ primitive: GLTFMeshPrimitive,
168
+ transformParameters: TransformParameters
169
+ ) {
170
+ const {originalTexCoord, texCoord, matrix} = transformParameters;
171
+ const texCoordAccessor = primitive.attributes[`TEXCOORD_${originalTexCoord}`];
172
+ if (Number.isFinite(texCoordAccessor)) {
173
+ // Get accessor of the `TEXCOORD_0` attribute
174
+ const accessor = gltfData.json.accessors?.[texCoordAccessor];
175
+ if (accessor && accessor.bufferView) {
176
+ // Get `bufferView` of the `accessor`
177
+ const bufferView = gltfData.json.bufferViews?.[accessor.bufferView];
178
+ if (bufferView) {
179
+ // Get `arrayBuffer` the `bufferView` look at
180
+ const {arrayBuffer, byteOffset: bufferByteOffset} = gltfData.buffers[bufferView.buffer];
181
+ // Resulting byteOffset is sum of the buffer, accessor and bufferView byte offsets
182
+ const byteOffset =
183
+ (bufferByteOffset || 0) + (accessor.byteOffset || 0) + (bufferView.byteOffset || 0);
184
+ // Deduce TypedArray type and its length from `accessor` and `bufferView` data
185
+ const {ArrayType, length} = getAccessorArrayTypeAndLength(accessor, bufferView);
186
+ // Number of bytes each component occupies
187
+ const bytes = BYTES[accessor.componentType];
188
+ // Number of components. For the `TEXCOORD_0` with `VEC2` type, it must return 2
189
+ const components = COMPONENTS[accessor.type];
190
+ // Multiplier to calculate the address of the `TEXCOORD_0` element in the arrayBuffer
191
+ const elementAddressScale = bufferView.byteStride || bytes * components;
192
+ // Data transform to Float32Array
193
+ const result = new Float32Array(length);
194
+ for (let i = 0; i < accessor.count; i++) {
195
+ // Take [u, v] couple from the arrayBuffer
196
+ const uv = new ArrayType(arrayBuffer, byteOffset + i * elementAddressScale, 2);
197
+ // Set and transform Vector3 per https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_texture_transform#overview
198
+ scratchVector.set(uv[0], uv[1], 1);
199
+ scratchVector.transformByMatrix3(matrix);
200
+ // Save result in Float32Array
201
+ result.set([scratchVector[0], scratchVector[1]], i * components);
202
+ }
203
+ // If texCoord the same, replace gltf structural data
204
+ if (originalTexCoord === texCoord) {
205
+ updateGltf(accessor, bufferView, gltfData.buffers, result);
206
+ } else {
207
+ // If texCoord change, create new attribute
208
+ createAttribute(texCoord, accessor, primitive, gltfData, result);
209
+ }
210
+ }
211
+ }
212
+ }
213
+ }
214
+
215
+ /**
216
+ * Update GLTF structural objects with new data as we create new `Float32Array` for `TEXCOORD_0`.
217
+ * @param accessor accessor to change
218
+ * @param bufferView bufferView to change
219
+ * @param buffers binary buffers
220
+ * @param newTexcoordArray typed array with data after transformation
221
+ */
222
+ function updateGltf(
223
+ accessor: Accessor,
224
+ bufferView: BufferView,
225
+ buffers: {arrayBuffer: ArrayBuffer; byteOffset: number; byteLength: number}[],
226
+ newTexCoordArray: Float32Array
227
+ ): void {
228
+ accessor.componentType = 5126;
229
+ buffers.push({
230
+ arrayBuffer: newTexCoordArray.buffer,
231
+ byteOffset: 0,
232
+ byteLength: newTexCoordArray.buffer.byteLength
233
+ });
234
+ bufferView.buffer = buffers.length - 1;
235
+ bufferView.byteLength = newTexCoordArray.buffer.byteLength;
236
+ bufferView.byteOffset = 0;
237
+ delete bufferView.byteStride;
238
+ }
239
+
240
+ /**
241
+ *
242
+ * @param newTexCoord new `texCoord` value
243
+ * @param originalAccessor original accessor object, that store data before transformation
244
+ * @param primitive primitive object
245
+ * @param gltfData gltf data
246
+ * @param newTexCoordArray typed array with data after transformation
247
+ * @returns
248
+ */
249
+ function createAttribute(
250
+ newTexCoord: number,
251
+ originalAccessor: Accessor,
252
+ primitive: GLTFMeshPrimitive,
253
+ gltfData: GLTFWithBuffers,
254
+ newTexCoordArray: Float32Array
255
+ ) {
256
+ gltfData.buffers.push({
257
+ arrayBuffer: newTexCoordArray.buffer,
258
+ byteOffset: 0,
259
+ byteLength: newTexCoordArray.buffer.byteLength
260
+ });
261
+ const bufferViews = gltfData.json.bufferViews;
262
+ if (!bufferViews) {
263
+ return;
264
+ }
265
+ bufferViews.push({
266
+ buffer: gltfData.buffers.length - 1,
267
+ byteLength: newTexCoordArray.buffer.byteLength,
268
+ byteOffset: 0
269
+ });
270
+ const accessors = gltfData.json.accessors;
271
+ if (!accessors) {
272
+ return;
273
+ }
274
+ accessors.push({
275
+ bufferView: bufferViews?.length - 1,
276
+ byteOffset: 0,
277
+ componentType: 5126,
278
+ count: originalAccessor.count,
279
+ type: 'VEC2'
280
+ });
281
+ primitive.attributes[`TEXCOORD_${newTexCoord}`] = accessors.length - 1;
282
+ }
283
+
284
+ /**
285
+ * Construct transformation matrix from the extension data (transition, rotation, scale)
286
+ * @param extensionData extension data
287
+ * @returns transformation matrix
288
+ */
289
+ function makeTransformationMatrix(extensionData: TextureInfo): Matrix3 {
290
+ const {offset = [0, 0], rotation = 0, scale = [1, 1]} = extensionData;
291
+ const translationMatirx = new Matrix3().set(1, 0, 0, 0, 1, 0, offset[0], offset[1], 1);
292
+ const rotationMatirx = scratchRotationMatrix.set(
293
+ Math.cos(rotation),
294
+ Math.sin(rotation),
295
+ 0,
296
+ -Math.sin(rotation),
297
+ Math.cos(rotation),
298
+ 0,
299
+ 0,
300
+ 0,
301
+ 1
302
+ );
303
+ const scaleMatrix = scratchScaleMatrix.set(scale[0], 0, 0, 0, scale[1], 0, 0, 0, 1);
304
+ return translationMatirx.multiplyRight(rotationMatirx).multiplyRight(scaleMatrix);
305
+ }
@@ -1,4 +1,4 @@
1
- const COMPONENTS = {
1
+ export const COMPONENTS = {
2
2
  SCALAR: 1,
3
3
  VEC2: 2,
4
4
  VEC3: 3,
@@ -8,7 +8,7 @@ const COMPONENTS = {
8
8
  MAT4: 16
9
9
  };
10
10
 
11
- const BYTES = {
11
+ export const BYTES = {
12
12
  5120: 1, // BYTE
13
13
  5121: 1, // UNSIGNED_BYTE
14
14
  5122: 2, // SHORT
@@ -394,7 +394,7 @@ export interface MaterialPbrMetallicRoughness {
394
394
  // [k: string]: any;
395
395
  }
396
396
  export interface MaterialNormalTextureInfo {
397
- index?: any;
397
+ index: any;
398
398
  texCoord?: any;
399
399
  /**
400
400
  * The scalar multiplier applied to each normal vector of the normal texture.
@@ -405,7 +405,7 @@ export interface MaterialNormalTextureInfo {
405
405
  // [k: string]: any;
406
406
  }
407
407
  export interface MaterialOcclusionTextureInfo {
408
- index?: any;
408
+ index: any;
409
409
  texCoord?: any;
410
410
  /**
411
411
  * A scalar multiplier controlling the amount of occlusion applied.