@loaders.gl/textures 4.2.0-alpha.4 → 4.2.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/basis-loader.js +27 -19
- package/dist/compressed-texture-loader.js +51 -31
- package/dist/compressed-texture-writer.js +32 -19
- package/dist/crunch-loader.js +19 -13
- package/dist/dist.dev.js +326 -212
- package/dist/dist.min.js +10 -0
- package/dist/index.cjs +41 -60
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +16 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -13
- package/dist/ktx2-basis-writer.js +21 -15
- package/dist/lib/encoders/encode-ktx.js +6 -3
- package/dist/lib/encoders/encode-ktx2-basis-texture.js +38 -33
- package/dist/lib/encoders/encode-texture.d.ts +1 -1
- package/dist/lib/encoders/encode-texture.d.ts.map +1 -1
- package/dist/lib/encoders/encode-texture.js +23 -9
- package/dist/lib/gl-extensions.js +70 -59
- package/dist/lib/parsers/basis-module-loader.js +97 -61
- package/dist/lib/parsers/crunch-module-loader.js +29 -13
- package/dist/lib/parsers/parse-basis.js +217 -205
- package/dist/lib/parsers/parse-compressed-texture.js +20 -11
- package/dist/lib/parsers/parse-crunch.js +89 -59
- package/dist/lib/parsers/parse-dds.js +82 -53
- package/dist/lib/parsers/parse-ktx.js +37 -18
- package/dist/lib/parsers/parse-npy.js +70 -53
- package/dist/lib/parsers/parse-pvr.js +203 -112
- package/dist/lib/texture-api/async-deep-map.js +33 -28
- package/dist/lib/texture-api/deep-load.js +7 -5
- package/dist/lib/texture-api/generate-url.d.ts +1 -1
- package/dist/lib/texture-api/generate-url.d.ts.map +1 -1
- package/dist/lib/texture-api/generate-url.js +12 -10
- package/dist/lib/texture-api/load-image-array.d.ts +1 -1
- package/dist/lib/texture-api/load-image-array.d.ts.map +1 -1
- package/dist/lib/texture-api/load-image-array.js +13 -15
- package/dist/lib/texture-api/load-image-cube.d.ts +1 -1
- package/dist/lib/texture-api/load-image-cube.d.ts.map +1 -1
- package/dist/lib/texture-api/load-image-cube.js +32 -51
- package/dist/lib/texture-api/load-image.d.ts +1 -1
- package/dist/lib/texture-api/load-image.d.ts.map +1 -1
- package/dist/lib/texture-api/load-image.js +30 -36
- package/dist/lib/texture-api/texture-api-types.js +3 -1
- package/dist/lib/utils/extract-mipmap-images.js +43 -29
- package/dist/lib/utils/ktx-format-helper.js +119 -68
- package/dist/lib/utils/texture-formats.js +40 -26
- package/dist/lib/utils/version.js +6 -1
- package/dist/npy-loader.d.ts +1 -1
- package/dist/npy-loader.d.ts.map +1 -1
- package/dist/npy-loader.js +24 -15
- package/dist/workers/basis-worker-node.js +4 -1
- package/dist/workers/basis-worker.js +3 -1
- package/dist/workers/compressed-texture-worker.js +4 -1
- package/dist/workers/crunch-worker.d.ts +1 -1
- package/dist/workers/crunch-worker.d.ts.map +1 -1
- package/dist/workers/crunch-worker.js +8 -3
- package/dist/workers/ktx2-basis-writer-worker-node.js +23 -26
- package/dist/workers/ktx2-basis-writer-worker.js +22 -26
- package/dist/workers/npy-worker.js +3 -1
- package/package.json +13 -9
- package/dist/basis-loader.js.map +0 -1
- package/dist/compressed-texture-loader.js.map +0 -1
- package/dist/compressed-texture-writer.js.map +0 -1
- package/dist/crunch-loader.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/ktx2-basis-writer.js.map +0 -1
- package/dist/lib/encoders/encode-ktx.js.map +0 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.js.map +0 -1
- package/dist/lib/encoders/encode-texture.js.map +0 -1
- package/dist/lib/gl-extensions.js.map +0 -1
- package/dist/lib/parsers/basis-module-loader.js.map +0 -1
- package/dist/lib/parsers/crunch-module-loader.js.map +0 -1
- package/dist/lib/parsers/parse-basis.js.map +0 -1
- package/dist/lib/parsers/parse-compressed-texture.js.map +0 -1
- package/dist/lib/parsers/parse-crunch.js.map +0 -1
- package/dist/lib/parsers/parse-dds.js.map +0 -1
- package/dist/lib/parsers/parse-ktx.js.map +0 -1
- package/dist/lib/parsers/parse-npy.js.map +0 -1
- package/dist/lib/parsers/parse-pvr.js.map +0 -1
- package/dist/lib/texture-api/async-deep-map.js.map +0 -1
- package/dist/lib/texture-api/deep-load.js.map +0 -1
- package/dist/lib/texture-api/generate-url.js.map +0 -1
- package/dist/lib/texture-api/load-image-array.js.map +0 -1
- package/dist/lib/texture-api/load-image-cube.js.map +0 -1
- package/dist/lib/texture-api/load-image.js.map +0 -1
- package/dist/lib/texture-api/texture-api-types.js.map +0 -1
- package/dist/lib/utils/extract-mipmap-images.js.map +0 -1
- package/dist/lib/utils/ktx-format-helper.js.map +0 -1
- package/dist/lib/utils/texture-formats.js.map +0 -1
- package/dist/lib/utils/version.js.map +0 -1
- package/dist/libs/libs/README.md +0 -9
- package/dist/libs/libs/basis_encoder.js +0 -21
- package/dist/libs/libs/basis_encoder.wasm +0 -0
- package/dist/libs/libs/basis_transcoder.js +0 -22
- package/dist/libs/libs/basis_transcoder.wasm +0 -0
- package/dist/libs/libs/crunch.js +0 -136
- package/dist/npy-loader.js.map +0 -1
- package/dist/workers/basis-worker-node.js.map +0 -1
- package/dist/workers/basis-worker.js.map +0 -1
- package/dist/workers/compressed-texture-worker.js.map +0 -1
- package/dist/workers/crunch-worker.js.map +0 -1
- package/dist/workers/ktx2-basis-writer-worker-node.js.map +0 -1
- package/dist/workers/ktx2-basis-writer-worker.js.map +0 -1
- package/dist/workers/npy-worker.js.map +0 -1
package/dist/dist.dev.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
if (typeof exports === 'object' && typeof module === 'object')
|
|
3
3
|
module.exports = factory();
|
|
4
4
|
else if (typeof define === 'function' && define.amd) define([], factory);
|
|
5
|
-
else if (typeof exports === 'object') exports['
|
|
6
|
-
else root['
|
|
5
|
+
else if (typeof exports === 'object') exports['loaders'] = factory();
|
|
6
|
+
else root['loaders'] = factory();})(globalThis, function () {
|
|
7
7
|
"use strict";
|
|
8
8
|
var __exports__ = (() => {
|
|
9
9
|
var __create = Object.create;
|
|
@@ -27,6 +27,7 @@ var __exports__ = (() => {
|
|
|
27
27
|
}
|
|
28
28
|
return to;
|
|
29
29
|
};
|
|
30
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
30
31
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
31
32
|
// If the importer is in node compatibility mode or this is not an ESM
|
|
32
33
|
// file that has been converted to a CommonJS file using a Babel-
|
|
@@ -37,6 +38,13 @@ var __exports__ = (() => {
|
|
|
37
38
|
));
|
|
38
39
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
39
40
|
|
|
41
|
+
// external-global-plugin:@loaders.gl/core
|
|
42
|
+
var require_core = __commonJS({
|
|
43
|
+
"external-global-plugin:@loaders.gl/core"(exports, module) {
|
|
44
|
+
module.exports = globalThis.loaders;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
|
|
40
48
|
// (disabled):../worker-utils/src/lib/node/require-utils.node
|
|
41
49
|
var require_require_utils = __commonJS({
|
|
42
50
|
"(disabled):../worker-utils/src/lib/node/require-utils.node"() {
|
|
@@ -51,9 +59,9 @@ var __exports__ = (() => {
|
|
|
51
59
|
}
|
|
52
60
|
});
|
|
53
61
|
|
|
54
|
-
//
|
|
55
|
-
var
|
|
56
|
-
__export(
|
|
62
|
+
// bundle.ts
|
|
63
|
+
var bundle_exports = {};
|
|
64
|
+
__export(bundle_exports, {
|
|
57
65
|
BASIS_EXTERNAL_LIBRARIES: () => BASIS_EXTERNAL_LIBRARIES,
|
|
58
66
|
BasisLoader: () => BasisLoader,
|
|
59
67
|
BasisWorkerLoader: () => BasisWorkerLoader,
|
|
@@ -74,19 +82,23 @@ var __exports__ = (() => {
|
|
|
74
82
|
loadImageTextureCube: () => loadImageTextureCube,
|
|
75
83
|
selectSupportedBasisFormat: () => selectSupportedBasisFormat
|
|
76
84
|
});
|
|
85
|
+
__reExport(bundle_exports, __toESM(require_core(), 1));
|
|
77
86
|
|
|
78
87
|
// src/lib/utils/version.ts
|
|
79
|
-
var VERSION =
|
|
88
|
+
var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
80
89
|
|
|
81
90
|
// ../worker-utils/src/lib/env-utils/version.ts
|
|
91
|
+
var NPM_TAG = "latest";
|
|
82
92
|
function getVersion() {
|
|
83
93
|
if (!globalThis._loadersgl_?.version) {
|
|
84
94
|
globalThis._loadersgl_ = globalThis._loadersgl_ || {};
|
|
85
|
-
if (
|
|
86
|
-
console.warn(
|
|
95
|
+
if (typeof __VERSION__ === "undefined") {
|
|
96
|
+
console.warn(
|
|
97
|
+
"loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN."
|
|
98
|
+
);
|
|
87
99
|
globalThis._loadersgl_.version = NPM_TAG;
|
|
88
100
|
} else {
|
|
89
|
-
globalThis._loadersgl_.version =
|
|
101
|
+
globalThis._loadersgl_.version = __VERSION__;
|
|
90
102
|
}
|
|
91
103
|
}
|
|
92
104
|
return globalThis._loadersgl_.version;
|
|
@@ -111,7 +123,10 @@ var __exports__ = (() => {
|
|
|
111
123
|
var window_ = globals.window || globals.self || globals.global || {};
|
|
112
124
|
var global_ = globals.global || globals.self || globals.window || {};
|
|
113
125
|
var document_ = globals.document || {};
|
|
114
|
-
var isBrowser =
|
|
126
|
+
var isBrowser = (
|
|
127
|
+
// @ts-ignore process.browser
|
|
128
|
+
typeof process !== "object" || String(process) !== "[object process]" || process.browser
|
|
129
|
+
);
|
|
115
130
|
var isWorker = typeof importScripts === "function";
|
|
116
131
|
var isMobile = typeof window !== "undefined" && typeof window.orientation !== "undefined";
|
|
117
132
|
var matches = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
|
|
@@ -124,7 +139,8 @@ var __exports__ = (() => {
|
|
|
124
139
|
if (moduleName) {
|
|
125
140
|
libraryUrl = getLibraryUrl(libraryUrl, moduleName, options, libraryName);
|
|
126
141
|
}
|
|
127
|
-
loadLibraryPromises[libraryUrl] =
|
|
142
|
+
loadLibraryPromises[libraryUrl] = // eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
143
|
+
loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
|
|
128
144
|
return await loadLibraryPromises[libraryUrl];
|
|
129
145
|
}
|
|
130
146
|
function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
|
|
@@ -204,9 +220,13 @@ var __exports__ = (() => {
|
|
|
204
220
|
|
|
205
221
|
// src/lib/parsers/basis-module-loader.ts
|
|
206
222
|
var BASIS_EXTERNAL_LIBRARIES = {
|
|
223
|
+
/** Basis transcoder, javascript wrapper part */
|
|
207
224
|
TRANSCODER: "basis_transcoder.js",
|
|
225
|
+
/** Basis transcoder, compiled web assembly part */
|
|
208
226
|
TRANSCODER_WASM: "basis_transcoder.wasm",
|
|
227
|
+
/** Basis encoder, javascript wrapper part */
|
|
209
228
|
ENCODER: "basis_encoder.js",
|
|
229
|
+
/** Basis encoder, compiled web assembly part */
|
|
210
230
|
ENCODER_WASM: "basis_encoder.wasm"
|
|
211
231
|
};
|
|
212
232
|
var loadBasisTranscoderPromise;
|
|
@@ -221,7 +241,10 @@ var __exports__ = (() => {
|
|
|
221
241
|
async function loadBasisTranscoder(options) {
|
|
222
242
|
let BASIS = null;
|
|
223
243
|
let wasmBinary = null;
|
|
224
|
-
[BASIS, wasmBinary] = await Promise.all([
|
|
244
|
+
[BASIS, wasmBinary] = await Promise.all([
|
|
245
|
+
await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER, "textures", options),
|
|
246
|
+
await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, "textures", options)
|
|
247
|
+
]);
|
|
225
248
|
BASIS = BASIS || globalThis.BASIS;
|
|
226
249
|
return await initializeBasisTranscoderModule(BASIS, wasmBinary);
|
|
227
250
|
}
|
|
@@ -232,14 +255,9 @@ var __exports__ = (() => {
|
|
|
232
255
|
}
|
|
233
256
|
return new Promise((resolve) => {
|
|
234
257
|
BasisModule(options).then((module) => {
|
|
235
|
-
const {
|
|
236
|
-
BasisFile,
|
|
237
|
-
initializeBasis
|
|
238
|
-
} = module;
|
|
258
|
+
const { BasisFile, initializeBasis } = module;
|
|
239
259
|
initializeBasis();
|
|
240
|
-
resolve({
|
|
241
|
-
BasisFile
|
|
242
|
-
});
|
|
260
|
+
resolve({ BasisFile });
|
|
243
261
|
});
|
|
244
262
|
});
|
|
245
263
|
}
|
|
@@ -255,7 +273,10 @@ var __exports__ = (() => {
|
|
|
255
273
|
async function loadBasisEncoder(options) {
|
|
256
274
|
let BASIS_ENCODER = null;
|
|
257
275
|
let wasmBinary = null;
|
|
258
|
-
[BASIS_ENCODER, wasmBinary] = await Promise.all([
|
|
276
|
+
[BASIS_ENCODER, wasmBinary] = await Promise.all([
|
|
277
|
+
await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER, "textures", options),
|
|
278
|
+
await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, "textures", options)
|
|
279
|
+
]);
|
|
259
280
|
BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
|
|
260
281
|
return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
|
|
261
282
|
}
|
|
@@ -266,28 +287,21 @@ var __exports__ = (() => {
|
|
|
266
287
|
}
|
|
267
288
|
return new Promise((resolve) => {
|
|
268
289
|
BasisEncoderModule(options).then((module) => {
|
|
269
|
-
const {
|
|
270
|
-
BasisFile,
|
|
271
|
-
KTX2File,
|
|
272
|
-
initializeBasis,
|
|
273
|
-
BasisEncoder
|
|
274
|
-
} = module;
|
|
290
|
+
const { BasisFile, KTX2File, initializeBasis, BasisEncoder } = module;
|
|
275
291
|
initializeBasis();
|
|
276
|
-
resolve({
|
|
277
|
-
BasisFile,
|
|
278
|
-
KTX2File,
|
|
279
|
-
BasisEncoder
|
|
280
|
-
});
|
|
292
|
+
resolve({ BasisFile, KTX2File, BasisEncoder });
|
|
281
293
|
});
|
|
282
294
|
});
|
|
283
295
|
}
|
|
284
296
|
|
|
285
297
|
// src/lib/gl-extensions.ts
|
|
286
298
|
var GL_EXTENSIONS_CONSTANTS = {
|
|
299
|
+
// WEBGL_compressed_texture_s3tc
|
|
287
300
|
COMPRESSED_RGB_S3TC_DXT1_EXT: 33776,
|
|
288
301
|
COMPRESSED_RGBA_S3TC_DXT1_EXT: 33777,
|
|
289
302
|
COMPRESSED_RGBA_S3TC_DXT3_EXT: 33778,
|
|
290
303
|
COMPRESSED_RGBA_S3TC_DXT5_EXT: 33779,
|
|
304
|
+
// WEBGL_compressed_texture_es3
|
|
291
305
|
COMPRESSED_R11_EAC: 37488,
|
|
292
306
|
COMPRESSED_SIGNED_R11_EAC: 37489,
|
|
293
307
|
COMPRESSED_RG11_EAC: 37490,
|
|
@@ -298,14 +312,18 @@ var __exports__ = (() => {
|
|
|
298
312
|
COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 37495,
|
|
299
313
|
COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37496,
|
|
300
314
|
COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37497,
|
|
315
|
+
// WEBGL_compressed_texture_pvrtc
|
|
301
316
|
COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 35840,
|
|
302
317
|
COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 35842,
|
|
303
318
|
COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 35841,
|
|
304
319
|
COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 35843,
|
|
320
|
+
// WEBGL_compressed_texture_etc1
|
|
305
321
|
COMPRESSED_RGB_ETC1_WEBGL: 36196,
|
|
322
|
+
// WEBGL_compressed_texture_atc
|
|
306
323
|
COMPRESSED_RGB_ATC_WEBGL: 35986,
|
|
307
324
|
COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: 35987,
|
|
308
325
|
COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: 34798,
|
|
326
|
+
// WEBGL_compressed_texture_astc
|
|
309
327
|
COMPRESSED_RGBA_ASTC_4X4_KHR: 37808,
|
|
310
328
|
COMPRESSED_RGBA_ASTC_5X4_KHR: 37809,
|
|
311
329
|
COMPRESSED_RGBA_ASTC_5X5_KHR: 37810,
|
|
@@ -334,10 +352,12 @@ var __exports__ = (() => {
|
|
|
334
352
|
COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR: 37851,
|
|
335
353
|
COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR: 37852,
|
|
336
354
|
COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR: 37853,
|
|
355
|
+
// EXT_texture_compression_rgtc
|
|
337
356
|
COMPRESSED_RED_RGTC1_EXT: 36283,
|
|
338
357
|
COMPRESSED_SIGNED_RED_RGTC1_EXT: 36284,
|
|
339
358
|
COMPRESSED_RED_GREEN_RGTC2_EXT: 36285,
|
|
340
359
|
COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 36286,
|
|
360
|
+
// WEBGL_compressed_texture_s3tc_srgb
|
|
341
361
|
COMPRESSED_SRGB_S3TC_DXT1_EXT: 35916,
|
|
342
362
|
COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 35917,
|
|
343
363
|
COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 35918,
|
|
@@ -347,6 +367,7 @@ var __exports__ = (() => {
|
|
|
347
367
|
// src/lib/utils/texture-formats.ts
|
|
348
368
|
var BROWSER_PREFIXES = ["", "WEBKIT_", "MOZ_"];
|
|
349
369
|
var WEBGL_EXTENSIONS = {
|
|
370
|
+
/* eslint-disable camelcase */
|
|
350
371
|
WEBGL_compressed_texture_s3tc: "dxt",
|
|
351
372
|
WEBGL_compressed_texture_s3tc_srgb: "dxt-srgb",
|
|
352
373
|
WEBGL_compressed_texture_etc1: "etc1",
|
|
@@ -355,6 +376,7 @@ var __exports__ = (() => {
|
|
|
355
376
|
WEBGL_compressed_texture_atc: "atc",
|
|
356
377
|
WEBGL_compressed_texture_astc: "astc",
|
|
357
378
|
EXT_texture_compression_rgtc: "rgtc"
|
|
379
|
+
/* eslint-enable camelcase */
|
|
358
380
|
};
|
|
359
381
|
var formats = null;
|
|
360
382
|
function getSupportedGPUTextureFormats(gl) {
|
|
@@ -537,49 +559,91 @@ var __exports__ = (() => {
|
|
|
537
559
|
154: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,
|
|
538
560
|
155: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,
|
|
539
561
|
156: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,
|
|
562
|
+
// @ts-ignore
|
|
540
563
|
157: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
|
|
564
|
+
// @ts-ignore
|
|
541
565
|
158: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
|
|
566
|
+
// @ts-ignore
|
|
542
567
|
159: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
|
|
568
|
+
// @ts-ignore
|
|
543
569
|
160: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
|
|
570
|
+
// @ts-ignore
|
|
544
571
|
161: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
|
|
572
|
+
// @ts-ignore
|
|
545
573
|
162: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
|
|
574
|
+
// @ts-ignore
|
|
546
575
|
163: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
|
|
576
|
+
// @ts-ignore
|
|
547
577
|
164: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
|
|
578
|
+
// @ts-ignore
|
|
548
579
|
165: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
|
|
580
|
+
// @ts-ignore
|
|
549
581
|
166: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
|
|
582
|
+
// @ts-ignore
|
|
550
583
|
167: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
|
|
584
|
+
// @ts-ignore
|
|
551
585
|
168: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
|
|
586
|
+
// @ts-ignore
|
|
552
587
|
169: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
|
|
588
|
+
// @ts-ignore
|
|
553
589
|
170: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
|
|
590
|
+
// @ts-ignore
|
|
554
591
|
171: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
|
|
592
|
+
// @ts-ignore
|
|
555
593
|
172: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
|
|
594
|
+
// @ts-ignore
|
|
556
595
|
173: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
|
|
596
|
+
// @ts-ignore
|
|
557
597
|
174: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
|
|
598
|
+
// @ts-ignore
|
|
558
599
|
175: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
|
|
600
|
+
// @ts-ignore
|
|
559
601
|
176: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
|
|
602
|
+
// @ts-ignore
|
|
560
603
|
177: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
|
|
604
|
+
// @ts-ignore
|
|
561
605
|
178: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
|
|
606
|
+
// @ts-ignore
|
|
562
607
|
179: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
|
|
608
|
+
// @ts-ignore
|
|
563
609
|
180: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
|
|
610
|
+
// @ts-ignore
|
|
564
611
|
181: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
|
|
612
|
+
// @ts-ignore
|
|
565
613
|
182: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
|
|
614
|
+
// @ts-ignore
|
|
566
615
|
183: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,
|
|
616
|
+
// @ts-ignore
|
|
567
617
|
184: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
|
|
568
618
|
1000054e3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
|
|
569
619
|
1000054001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
|
|
620
|
+
// @ts-ignore
|
|
570
621
|
1000066e3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
|
|
622
|
+
// @ts-ignore
|
|
571
623
|
1000066001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
|
|
624
|
+
// @ts-ignore
|
|
572
625
|
1000066002: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
|
|
626
|
+
// @ts-ignore
|
|
573
627
|
1000066003: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
|
|
628
|
+
// @ts-ignore
|
|
574
629
|
1000066004: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
|
|
630
|
+
// @ts-ignore
|
|
575
631
|
1000066005: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
|
|
632
|
+
// @ts-ignore
|
|
576
633
|
1000066006: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
|
|
634
|
+
// @ts-ignore
|
|
577
635
|
1000066007: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
|
|
636
|
+
// @ts-ignore
|
|
578
637
|
1000066008: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
|
|
638
|
+
// @ts-ignore
|
|
579
639
|
1000066009: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
|
|
640
|
+
// @ts-ignore
|
|
580
641
|
1000066010: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
|
|
642
|
+
// @ts-ignore
|
|
581
643
|
1000066011: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
|
|
644
|
+
// @ts-ignore
|
|
582
645
|
1000066012: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
|
|
646
|
+
// @ts-ignore
|
|
583
647
|
1000066013: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR
|
|
584
648
|
};
|
|
585
649
|
function mapVkFormatToWebGL(vkFormat) {
|
|
@@ -587,10 +651,35 @@ var __exports__ = (() => {
|
|
|
587
651
|
}
|
|
588
652
|
|
|
589
653
|
// src/lib/parsers/parse-ktx.ts
|
|
590
|
-
var KTX2_ID = [
|
|
654
|
+
var KTX2_ID = [
|
|
655
|
+
// '´', 'K', 'T', 'X', '2', '0', 'ª', '\r', '\n', '\x1A', '\n'
|
|
656
|
+
171,
|
|
657
|
+
75,
|
|
658
|
+
84,
|
|
659
|
+
88,
|
|
660
|
+
32,
|
|
661
|
+
50,
|
|
662
|
+
48,
|
|
663
|
+
187,
|
|
664
|
+
13,
|
|
665
|
+
10,
|
|
666
|
+
26,
|
|
667
|
+
10
|
|
668
|
+
];
|
|
591
669
|
function isKTX(data) {
|
|
592
670
|
const id = new Uint8Array(data);
|
|
593
|
-
const notKTX = id.byteLength < KTX2_ID.length || id[0] !== KTX2_ID[0] ||
|
|
671
|
+
const notKTX = id.byteLength < KTX2_ID.length || id[0] !== KTX2_ID[0] || // '´'
|
|
672
|
+
id[1] !== KTX2_ID[1] || // 'K'
|
|
673
|
+
id[2] !== KTX2_ID[2] || // 'T'
|
|
674
|
+
id[3] !== KTX2_ID[3] || // 'X'
|
|
675
|
+
id[4] !== KTX2_ID[4] || // ' '
|
|
676
|
+
id[5] !== KTX2_ID[5] || // '2'
|
|
677
|
+
id[6] !== KTX2_ID[6] || // '0'
|
|
678
|
+
id[7] !== KTX2_ID[7] || // 'ª'
|
|
679
|
+
id[8] !== KTX2_ID[8] || // '\r'
|
|
680
|
+
id[9] !== KTX2_ID[9] || // '\n'
|
|
681
|
+
id[10] !== KTX2_ID[10] || // '\x1A'
|
|
682
|
+
id[11] !== KTX2_ID[11];
|
|
594
683
|
return !notKTX;
|
|
595
684
|
}
|
|
596
685
|
function parseKTX(arrayBuffer) {
|
|
@@ -616,10 +705,7 @@ var __exports__ = (() => {
|
|
|
616
705
|
compressed: true,
|
|
617
706
|
format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL
|
|
618
707
|
},
|
|
619
|
-
etc2: {
|
|
620
|
-
basisFormat: 1,
|
|
621
|
-
compressed: true
|
|
622
|
-
},
|
|
708
|
+
etc2: { basisFormat: 1, compressed: true },
|
|
623
709
|
bc1: {
|
|
624
710
|
basisFormat: 2,
|
|
625
711
|
compressed: true,
|
|
@@ -630,22 +716,10 @@ var __exports__ = (() => {
|
|
|
630
716
|
compressed: true,
|
|
631
717
|
format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT
|
|
632
718
|
},
|
|
633
|
-
bc4: {
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
},
|
|
637
|
-
bc5: {
|
|
638
|
-
basisFormat: 5,
|
|
639
|
-
compressed: true
|
|
640
|
-
},
|
|
641
|
-
"bc7-m6-opaque-only": {
|
|
642
|
-
basisFormat: 6,
|
|
643
|
-
compressed: true
|
|
644
|
-
},
|
|
645
|
-
"bc7-m5": {
|
|
646
|
-
basisFormat: 7,
|
|
647
|
-
compressed: true
|
|
648
|
-
},
|
|
719
|
+
bc4: { basisFormat: 4, compressed: true },
|
|
720
|
+
bc5: { basisFormat: 5, compressed: true },
|
|
721
|
+
"bc7-m6-opaque-only": { basisFormat: 6, compressed: true },
|
|
722
|
+
"bc7-m5": { basisFormat: 7, compressed: true },
|
|
649
723
|
"pvrtc1-4-rgb": {
|
|
650
724
|
basisFormat: 8,
|
|
651
725
|
compressed: true,
|
|
@@ -661,30 +735,12 @@ var __exports__ = (() => {
|
|
|
661
735
|
compressed: true,
|
|
662
736
|
format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR
|
|
663
737
|
},
|
|
664
|
-
"atc-rgb": {
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
},
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
compressed: true
|
|
671
|
-
},
|
|
672
|
-
rgba32: {
|
|
673
|
-
basisFormat: 13,
|
|
674
|
-
compressed: false
|
|
675
|
-
},
|
|
676
|
-
rgb565: {
|
|
677
|
-
basisFormat: 14,
|
|
678
|
-
compressed: false
|
|
679
|
-
},
|
|
680
|
-
bgr565: {
|
|
681
|
-
basisFormat: 15,
|
|
682
|
-
compressed: false
|
|
683
|
-
},
|
|
684
|
-
rgba4444: {
|
|
685
|
-
basisFormat: 16,
|
|
686
|
-
compressed: false
|
|
687
|
-
}
|
|
738
|
+
"atc-rgb": { basisFormat: 11, compressed: true },
|
|
739
|
+
"atc-rgba-interpolated-alpha": { basisFormat: 12, compressed: true },
|
|
740
|
+
rgba32: { basisFormat: 13, compressed: false },
|
|
741
|
+
rgb565: { basisFormat: 14, compressed: false },
|
|
742
|
+
bgr565: { basisFormat: 15, compressed: false },
|
|
743
|
+
rgba4444: { basisFormat: 16, compressed: false }
|
|
688
744
|
};
|
|
689
745
|
async function parseBasis(data, options) {
|
|
690
746
|
if (options.basis.containerFormat === "auto") {
|
|
@@ -692,9 +748,7 @@ var __exports__ = (() => {
|
|
|
692
748
|
const fileConstructors = await loadBasisEncoderModule(options);
|
|
693
749
|
return parseKTX2File(fileConstructors.KTX2File, data, options);
|
|
694
750
|
}
|
|
695
|
-
const {
|
|
696
|
-
BasisFile
|
|
697
|
-
} = await loadBasisTranscoderModule(options);
|
|
751
|
+
const { BasisFile } = await loadBasisTranscoderModule(options);
|
|
698
752
|
return parseBasisFile(BasisFile, data, options);
|
|
699
753
|
}
|
|
700
754
|
switch (options.basis.module) {
|
|
@@ -709,9 +763,7 @@ var __exports__ = (() => {
|
|
|
709
763
|
}
|
|
710
764
|
case "transcoder":
|
|
711
765
|
default:
|
|
712
|
-
const {
|
|
713
|
-
BasisFile
|
|
714
|
-
} = await loadBasisTranscoderModule(options);
|
|
766
|
+
const { BasisFile } = await loadBasisTranscoderModule(options);
|
|
715
767
|
return parseBasisFile(BasisFile, data, options);
|
|
716
768
|
}
|
|
717
769
|
}
|
|
@@ -740,23 +792,24 @@ var __exports__ = (() => {
|
|
|
740
792
|
function transcodeImage(basisFile, imageIndex, levelIndex, options) {
|
|
741
793
|
const width = basisFile.getImageWidth(imageIndex, levelIndex);
|
|
742
794
|
const height = basisFile.getImageHeight(imageIndex, levelIndex);
|
|
743
|
-
const hasAlpha = basisFile.getHasAlpha(
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
basisFormat
|
|
748
|
-
} = getBasisOptions(options, hasAlpha);
|
|
795
|
+
const hasAlpha = basisFile.getHasAlpha(
|
|
796
|
+
/* imageIndex, levelIndex */
|
|
797
|
+
);
|
|
798
|
+
const { compressed, format, basisFormat } = getBasisOptions(options, hasAlpha);
|
|
749
799
|
const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
|
|
750
800
|
const decodedData = new Uint8Array(decodedSize);
|
|
751
801
|
if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {
|
|
752
802
|
throw new Error("failed to start Basis transcoding");
|
|
753
803
|
}
|
|
754
804
|
return {
|
|
805
|
+
// standard loaders.gl image category payload
|
|
755
806
|
width,
|
|
756
807
|
height,
|
|
757
808
|
data: decodedData,
|
|
758
809
|
compressed,
|
|
759
810
|
format,
|
|
811
|
+
// Additional fields
|
|
812
|
+
// Add levelSize field.
|
|
760
813
|
hasAlpha
|
|
761
814
|
};
|
|
762
815
|
}
|
|
@@ -779,26 +832,35 @@ var __exports__ = (() => {
|
|
|
779
832
|
}
|
|
780
833
|
}
|
|
781
834
|
function transcodeKTX2Image(ktx2File, levelIndex, options) {
|
|
782
|
-
const {
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
compressed,
|
|
789
|
-
format,
|
|
835
|
+
const { alphaFlag, height, width } = ktx2File.getImageLevelInfo(levelIndex, 0, 0);
|
|
836
|
+
const { compressed, format, basisFormat } = getBasisOptions(options, alphaFlag);
|
|
837
|
+
const decodedSize = ktx2File.getImageTranscodedSizeInBytes(
|
|
838
|
+
levelIndex,
|
|
839
|
+
0,
|
|
840
|
+
0,
|
|
790
841
|
basisFormat
|
|
791
|
-
|
|
792
|
-
const decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
|
|
842
|
+
);
|
|
793
843
|
const decodedData = new Uint8Array(decodedSize);
|
|
794
|
-
if (!ktx2File.transcodeImage(
|
|
844
|
+
if (!ktx2File.transcodeImage(
|
|
845
|
+
decodedData,
|
|
846
|
+
levelIndex,
|
|
847
|
+
0,
|
|
848
|
+
0,
|
|
849
|
+
basisFormat,
|
|
850
|
+
0,
|
|
851
|
+
-1,
|
|
852
|
+
-1
|
|
853
|
+
/* channel1 */
|
|
854
|
+
)) {
|
|
795
855
|
throw new Error("Failed to transcode KTX2 image");
|
|
796
856
|
}
|
|
797
857
|
return {
|
|
858
|
+
// standard loaders.gl image category payload
|
|
798
859
|
width,
|
|
799
860
|
height,
|
|
800
861
|
data: decodedData,
|
|
801
862
|
compressed,
|
|
863
|
+
// Additional fields
|
|
802
864
|
levelSize: decodedSize,
|
|
803
865
|
hasAlpha: alphaFlag,
|
|
804
866
|
format
|
|
@@ -851,9 +913,12 @@ var __exports__ = (() => {
|
|
|
851
913
|
options: {
|
|
852
914
|
basis: {
|
|
853
915
|
format: "auto",
|
|
916
|
+
// gl context doesn't exist on a worker thread
|
|
854
917
|
libraryPath: "libs/",
|
|
855
918
|
containerFormat: "auto",
|
|
919
|
+
// 'basis' || 'ktx2' || 'auto'
|
|
856
920
|
module: "transcoder"
|
|
921
|
+
// 'transcoder' || 'encoder'
|
|
857
922
|
}
|
|
858
923
|
}
|
|
859
924
|
};
|
|
@@ -880,7 +945,10 @@ var __exports__ = (() => {
|
|
|
880
945
|
var window_2 = globals2.window || globals2.self || globals2.global || {};
|
|
881
946
|
var global_2 = globals2.global || globals2.self || globals2.window || {};
|
|
882
947
|
var document_2 = globals2.document || {};
|
|
883
|
-
var isBrowser2 =
|
|
948
|
+
var isBrowser2 = (
|
|
949
|
+
// @ts-ignore process does not exist on browser
|
|
950
|
+
Boolean(typeof process !== "object" || String(process) !== "[object process]" || process.browser)
|
|
951
|
+
);
|
|
884
952
|
var matches2 = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
|
|
885
953
|
var nodeVersion2 = matches2 && parseFloat(matches2[1]) || 0;
|
|
886
954
|
|
|
@@ -942,7 +1010,10 @@ var __exports__ = (() => {
|
|
|
942
1010
|
function parseDDS(data) {
|
|
943
1011
|
const header = new Int32Array(data, 0, DDS_CONSTANTS.HEADER_LENGTH);
|
|
944
1012
|
const pixelFormatNumber = header[DDS_CONSTANTS.HEADER_PF_FOURCC_INDEX];
|
|
945
|
-
assert2(
|
|
1013
|
+
assert2(
|
|
1014
|
+
Boolean(header[DDS_CONSTANTS.HEADER_PF_FLAGS_INDEX] & DDS_CONSTANTS.DDPF_FOURCC),
|
|
1015
|
+
"DDS: Unsupported format, must contain a FourCC code"
|
|
1016
|
+
);
|
|
946
1017
|
const fourCC = int32ToFourCC(pixelFormatNumber);
|
|
947
1018
|
const internalFormat = DDS_PIXEL_FORMATS[fourCC];
|
|
948
1019
|
const sizeFunction = DDS_SIZE_FUNCTIONS[fourCC];
|
|
@@ -970,7 +1041,12 @@ var __exports__ = (() => {
|
|
|
970
1041
|
return (width + 3 >> 2) * (height + 3 >> 2) * 16;
|
|
971
1042
|
}
|
|
972
1043
|
function int32ToFourCC(value) {
|
|
973
|
-
return String.fromCharCode(
|
|
1044
|
+
return String.fromCharCode(
|
|
1045
|
+
value & 255,
|
|
1046
|
+
value >> 8 & 255,
|
|
1047
|
+
value >> 16 & 255,
|
|
1048
|
+
value >> 24 & 255
|
|
1049
|
+
);
|
|
974
1050
|
}
|
|
975
1051
|
|
|
976
1052
|
// src/lib/parsers/parse-pvr.ts
|
|
@@ -1001,20 +1077,62 @@ var __exports__ = (() => {
|
|
|
1001
1077
|
24: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],
|
|
1002
1078
|
25: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC],
|
|
1003
1079
|
26: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC],
|
|
1004
|
-
27: [
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1080
|
+
27: [
|
|
1081
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR,
|
|
1082
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR
|
|
1083
|
+
],
|
|
1084
|
+
28: [
|
|
1085
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X4_KHR,
|
|
1086
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR
|
|
1087
|
+
],
|
|
1088
|
+
29: [
|
|
1089
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X5_KHR,
|
|
1090
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR
|
|
1091
|
+
],
|
|
1092
|
+
30: [
|
|
1093
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X5_KHR,
|
|
1094
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR
|
|
1095
|
+
],
|
|
1096
|
+
31: [
|
|
1097
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X6_KHR,
|
|
1098
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR
|
|
1099
|
+
],
|
|
1100
|
+
32: [
|
|
1101
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X5_KHR,
|
|
1102
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR
|
|
1103
|
+
],
|
|
1104
|
+
33: [
|
|
1105
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X6_KHR,
|
|
1106
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR
|
|
1107
|
+
],
|
|
1108
|
+
34: [
|
|
1109
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X8_KHR,
|
|
1110
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR
|
|
1111
|
+
],
|
|
1112
|
+
35: [
|
|
1113
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X5_KHR,
|
|
1114
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR
|
|
1115
|
+
],
|
|
1116
|
+
36: [
|
|
1117
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X6_KHR,
|
|
1118
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR
|
|
1119
|
+
],
|
|
1120
|
+
37: [
|
|
1121
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X8_KHR,
|
|
1122
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR
|
|
1123
|
+
],
|
|
1124
|
+
38: [
|
|
1125
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X10_KHR,
|
|
1126
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR
|
|
1127
|
+
],
|
|
1128
|
+
39: [
|
|
1129
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X10_KHR,
|
|
1130
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR
|
|
1131
|
+
],
|
|
1132
|
+
40: [
|
|
1133
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X12_KHR,
|
|
1134
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR
|
|
1135
|
+
]
|
|
1018
1136
|
};
|
|
1019
1137
|
var PVR_SIZE_FUNCTIONS = {
|
|
1020
1138
|
0: pvrtc2bppSize,
|
|
@@ -1147,8 +1265,21 @@ var __exports__ = (() => {
|
|
|
1147
1265
|
module: "textures",
|
|
1148
1266
|
version: VERSION,
|
|
1149
1267
|
worker: true,
|
|
1150
|
-
extensions: [
|
|
1151
|
-
|
|
1268
|
+
extensions: [
|
|
1269
|
+
"ktx",
|
|
1270
|
+
"ktx2",
|
|
1271
|
+
"dds",
|
|
1272
|
+
// WEBGL_compressed_texture_s3tc, WEBGL_compressed_texture_atc
|
|
1273
|
+
"pvr"
|
|
1274
|
+
// WEBGL_compressed_texture_pvrtc
|
|
1275
|
+
],
|
|
1276
|
+
mimeTypes: [
|
|
1277
|
+
"image/ktx2",
|
|
1278
|
+
"image/ktx",
|
|
1279
|
+
"image/vnd-ms.dds",
|
|
1280
|
+
"image/x-dds",
|
|
1281
|
+
"application/octet-stream"
|
|
1282
|
+
],
|
|
1152
1283
|
binary: true,
|
|
1153
1284
|
options: {
|
|
1154
1285
|
"compressed-texture": {
|
|
@@ -1166,6 +1297,7 @@ var __exports__ = (() => {
|
|
|
1166
1297
|
alpha: "BC3",
|
|
1167
1298
|
noAlpha: "BC1"
|
|
1168
1299
|
},
|
|
1300
|
+
// @ts-expect-error TODO not allowed to modify inputs
|
|
1169
1301
|
...options.basis,
|
|
1170
1302
|
containerFormat: "ktx2",
|
|
1171
1303
|
module: "encoder"
|
|
@@ -1211,10 +1343,7 @@ var __exports__ = (() => {
|
|
|
1211
1343
|
};
|
|
1212
1344
|
function parseNPY(arrayBuffer, options) {
|
|
1213
1345
|
const view = new DataView(arrayBuffer);
|
|
1214
|
-
const {
|
|
1215
|
-
header,
|
|
1216
|
-
headerEndOffset
|
|
1217
|
-
} = parseHeader(view);
|
|
1346
|
+
const { header, headerEndOffset } = parseHeader(view);
|
|
1218
1347
|
const numpyType = header.descr;
|
|
1219
1348
|
const ArrayType = DTYPES[numpyType.slice(1, 3)];
|
|
1220
1349
|
if (!ArrayType) {
|
|
@@ -1250,11 +1379,10 @@ var __exports__ = (() => {
|
|
|
1250
1379
|
const headerArray = new Uint8Array(view.buffer, offset, headerLength);
|
|
1251
1380
|
const headerText = decoder.decode(headerArray);
|
|
1252
1381
|
offset += headerLength;
|
|
1253
|
-
const header = JSON.parse(
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
};
|
|
1382
|
+
const header = JSON.parse(
|
|
1383
|
+
headerText.replace(/'/g, '"').replace("False", "false").replace("(", "[").replace(/,*\),*/g, "]")
|
|
1384
|
+
);
|
|
1385
|
+
return { header, headerEndOffset: offset };
|
|
1258
1386
|
}
|
|
1259
1387
|
|
|
1260
1388
|
// src/npy-loader.ts
|
|
@@ -1280,12 +1408,26 @@ var __exports__ = (() => {
|
|
|
1280
1408
|
|
|
1281
1409
|
// src/lib/parsers/crunch-module-loader.ts
|
|
1282
1410
|
var CRUNCH_EXTERNAL_LIBRARIES = {
|
|
1411
|
+
/** Crunch decoder library. It is used as dynamically imported script */
|
|
1283
1412
|
DECODER: "crunch.js"
|
|
1284
1413
|
};
|
|
1285
1414
|
|
|
1286
1415
|
// src/lib/encoders/encode-texture.ts
|
|
1287
1416
|
async function encodeImageURLToCompressedTextureURL(inputUrl, outputUrl, options) {
|
|
1288
|
-
const args = [
|
|
1417
|
+
const args = [
|
|
1418
|
+
// Note: our actual executable is `npx`, so `texture-compressor` is an argument
|
|
1419
|
+
"texture-compressor",
|
|
1420
|
+
"--type",
|
|
1421
|
+
"s3tc",
|
|
1422
|
+
"--compression",
|
|
1423
|
+
"DXT1",
|
|
1424
|
+
"--quality",
|
|
1425
|
+
"normal",
|
|
1426
|
+
"--input",
|
|
1427
|
+
inputUrl,
|
|
1428
|
+
"--output",
|
|
1429
|
+
outputUrl
|
|
1430
|
+
];
|
|
1289
1431
|
const childProcess = new import_child_process_proxy.default();
|
|
1290
1432
|
await childProcess.start({
|
|
1291
1433
|
command: "npx",
|
|
@@ -1326,9 +1468,7 @@ var __exports__ = (() => {
|
|
|
1326
1468
|
encodeUASTC = false,
|
|
1327
1469
|
mipmaps = false
|
|
1328
1470
|
} = options?.["ktx2-basis-writer"] || {};
|
|
1329
|
-
const {
|
|
1330
|
-
BasisEncoder
|
|
1331
|
-
} = await loadBasisEncoderModule(options);
|
|
1471
|
+
const { BasisEncoder } = await loadBasisEncoderModule(options);
|
|
1332
1472
|
const basisEncoder = new BasisEncoder();
|
|
1333
1473
|
try {
|
|
1334
1474
|
const basisFileData = new Uint8Array(image.width * image.height * 4);
|
|
@@ -1371,7 +1511,7 @@ var __exports__ = (() => {
|
|
|
1371
1511
|
};
|
|
1372
1512
|
|
|
1373
1513
|
// ../images/src/lib/utils/version.ts
|
|
1374
|
-
var VERSION3 =
|
|
1514
|
+
var VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
1375
1515
|
|
|
1376
1516
|
// ../images/src/lib/category-api/image-type.ts
|
|
1377
1517
|
var parseImageNode = globalThis.loaders?.parseImageNode;
|
|
@@ -1561,10 +1701,7 @@ var __exports__ = (() => {
|
|
|
1561
1701
|
switch (brandMajor) {
|
|
1562
1702
|
case "avif":
|
|
1563
1703
|
case "avis":
|
|
1564
|
-
return {
|
|
1565
|
-
extension: "avif",
|
|
1566
|
-
mimeType: "image/avif"
|
|
1567
|
-
};
|
|
1704
|
+
return { extension: "avif", mimeType: "image/avif" };
|
|
1568
1705
|
default:
|
|
1569
1706
|
return null;
|
|
1570
1707
|
}
|
|
@@ -1600,6 +1737,7 @@ var __exports__ = (() => {
|
|
|
1600
1737
|
}
|
|
1601
1738
|
return {
|
|
1602
1739
|
mimeType: mediaType.mimeType,
|
|
1740
|
+
// TODO - decode width and height
|
|
1603
1741
|
width: 0,
|
|
1604
1742
|
height: 0
|
|
1605
1743
|
};
|
|
@@ -1646,10 +1784,7 @@ var __exports__ = (() => {
|
|
|
1646
1784
|
if (!isJpeg) {
|
|
1647
1785
|
return null;
|
|
1648
1786
|
}
|
|
1649
|
-
const {
|
|
1650
|
-
tableMarkers,
|
|
1651
|
-
sofMarkers
|
|
1652
|
-
} = getJpegMarkers();
|
|
1787
|
+
const { tableMarkers, sofMarkers } = getJpegMarkers();
|
|
1653
1788
|
let i2 = 2;
|
|
1654
1789
|
while (i2 + 9 < dataView.byteLength) {
|
|
1655
1790
|
const marker = dataView.getUint16(i2, BIG_ENDIAN);
|
|
@@ -1657,7 +1792,9 @@ var __exports__ = (() => {
|
|
|
1657
1792
|
return {
|
|
1658
1793
|
mimeType: "image/jpeg",
|
|
1659
1794
|
height: dataView.getUint16(i2 + 5, BIG_ENDIAN),
|
|
1795
|
+
// Number of lines
|
|
1660
1796
|
width: dataView.getUint16(i2 + 7, BIG_ENDIAN)
|
|
1797
|
+
// Number of pixels per line
|
|
1661
1798
|
};
|
|
1662
1799
|
}
|
|
1663
1800
|
if (!tableMarkers.has(marker)) {
|
|
@@ -1673,11 +1810,23 @@ var __exports__ = (() => {
|
|
|
1673
1810
|
for (let i2 = 65504; i2 < 65520; ++i2) {
|
|
1674
1811
|
tableMarkers.add(i2);
|
|
1675
1812
|
}
|
|
1676
|
-
const sofMarkers = /* @__PURE__ */ new Set([
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1813
|
+
const sofMarkers = /* @__PURE__ */ new Set([
|
|
1814
|
+
65472,
|
|
1815
|
+
65473,
|
|
1816
|
+
65474,
|
|
1817
|
+
65475,
|
|
1818
|
+
65477,
|
|
1819
|
+
65478,
|
|
1820
|
+
65479,
|
|
1821
|
+
65481,
|
|
1822
|
+
65482,
|
|
1823
|
+
65483,
|
|
1824
|
+
65485,
|
|
1825
|
+
65486,
|
|
1826
|
+
65487,
|
|
1827
|
+
65502
|
|
1828
|
+
]);
|
|
1829
|
+
return { tableMarkers, sofMarkers };
|
|
1681
1830
|
}
|
|
1682
1831
|
function toDataView(data) {
|
|
1683
1832
|
if (data instanceof DataView) {
|
|
@@ -1694,9 +1843,7 @@ var __exports__ = (() => {
|
|
|
1694
1843
|
|
|
1695
1844
|
// ../images/src/lib/parsers/parse-to-node-image.ts
|
|
1696
1845
|
async function parseToNodeImage(arrayBuffer, options) {
|
|
1697
|
-
const {
|
|
1698
|
-
mimeType
|
|
1699
|
-
} = getBinaryImageMetadata(arrayBuffer) || {};
|
|
1846
|
+
const { mimeType } = getBinaryImageMetadata(arrayBuffer) || {};
|
|
1700
1847
|
const parseImageNode2 = globalThis.loaders?.parseImageNode;
|
|
1701
1848
|
assert2(parseImageNode2);
|
|
1702
1849
|
return await parseImageNode2(arrayBuffer, mimeType);
|
|
@@ -1707,9 +1854,7 @@ var __exports__ = (() => {
|
|
|
1707
1854
|
options = options || {};
|
|
1708
1855
|
const imageOptions = options.image || {};
|
|
1709
1856
|
const imageType = imageOptions.type || "auto";
|
|
1710
|
-
const {
|
|
1711
|
-
url
|
|
1712
|
-
} = context || {};
|
|
1857
|
+
const { url } = context || {};
|
|
1713
1858
|
const loadType = getLoadableImageType(imageType);
|
|
1714
1859
|
let image;
|
|
1715
1860
|
switch (loadType) {
|
|
@@ -1743,12 +1888,23 @@ var __exports__ = (() => {
|
|
|
1743
1888
|
|
|
1744
1889
|
// ../images/src/image-loader.ts
|
|
1745
1890
|
var EXTENSIONS = ["png", "jpg", "jpeg", "gif", "webp", "bmp", "ico", "svg", "avif"];
|
|
1746
|
-
var MIME_TYPES = [
|
|
1891
|
+
var MIME_TYPES = [
|
|
1892
|
+
"image/png",
|
|
1893
|
+
"image/jpeg",
|
|
1894
|
+
"image/gif",
|
|
1895
|
+
"image/webp",
|
|
1896
|
+
"image/avif",
|
|
1897
|
+
"image/bmp",
|
|
1898
|
+
"image/vnd.microsoft.icon",
|
|
1899
|
+
"image/svg+xml"
|
|
1900
|
+
];
|
|
1747
1901
|
var DEFAULT_IMAGE_LOADER_OPTIONS = {
|
|
1748
1902
|
image: {
|
|
1749
1903
|
type: "auto",
|
|
1750
1904
|
decode: true
|
|
1905
|
+
// if format is HTML
|
|
1751
1906
|
}
|
|
1907
|
+
// imagebitmap: {} - passes (platform dependent) parameters to ImageBitmap constructor
|
|
1752
1908
|
};
|
|
1753
1909
|
var ImageLoader = {
|
|
1754
1910
|
id: "image",
|
|
@@ -1758,16 +1914,14 @@ var __exports__ = (() => {
|
|
|
1758
1914
|
mimeTypes: MIME_TYPES,
|
|
1759
1915
|
extensions: EXTENSIONS,
|
|
1760
1916
|
parse: parseImage,
|
|
1917
|
+
// TODO: byteOffset, byteLength;
|
|
1761
1918
|
tests: [(arrayBuffer) => Boolean(getBinaryImageMetadata(new DataView(arrayBuffer)))],
|
|
1762
1919
|
options: DEFAULT_IMAGE_LOADER_OPTIONS
|
|
1763
1920
|
};
|
|
1764
1921
|
|
|
1765
1922
|
// src/lib/texture-api/generate-url.ts
|
|
1766
1923
|
function generateUrl(getUrl, options, urlOptions) {
|
|
1767
|
-
let url = typeof getUrl === "function" ? getUrl({
|
|
1768
|
-
...options,
|
|
1769
|
-
...urlOptions
|
|
1770
|
-
}) : getUrl;
|
|
1924
|
+
let url = typeof getUrl === "function" ? getUrl({ ...options, ...urlOptions }) : getUrl;
|
|
1771
1925
|
const baseUrl = options.baseUrl;
|
|
1772
1926
|
if (baseUrl) {
|
|
1773
1927
|
url = baseUrl[baseUrl.length - 1] === "/" ? `${baseUrl}${url}` : `${baseUrl}/${url}`;
|
|
@@ -1830,27 +1984,15 @@ var __exports__ = (() => {
|
|
|
1830
1984
|
async function getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) {
|
|
1831
1985
|
const urls = [];
|
|
1832
1986
|
if (mipLevels === "auto") {
|
|
1833
|
-
const url = generateUrl(getUrl, options, {
|
|
1834
|
-
...urlOptions,
|
|
1835
|
-
lod: 0
|
|
1836
|
-
});
|
|
1987
|
+
const url = generateUrl(getUrl, options, { ...urlOptions, lod: 0 });
|
|
1837
1988
|
const image = await shallowLoad(url, ImageLoader.parse, options);
|
|
1838
|
-
const {
|
|
1839
|
-
|
|
1840
|
-
height
|
|
1841
|
-
} = getImageSize(image);
|
|
1842
|
-
mipLevels = getMipLevels({
|
|
1843
|
-
width,
|
|
1844
|
-
height
|
|
1845
|
-
});
|
|
1989
|
+
const { width, height } = getImageSize(image);
|
|
1990
|
+
mipLevels = getMipLevels({ width, height });
|
|
1846
1991
|
urls.push(url);
|
|
1847
1992
|
}
|
|
1848
1993
|
assert2(mipLevels > 0);
|
|
1849
1994
|
for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {
|
|
1850
|
-
const url = generateUrl(getUrl, options, {
|
|
1851
|
-
...urlOptions,
|
|
1852
|
-
lod: mipLevel
|
|
1853
|
-
});
|
|
1995
|
+
const url = generateUrl(getUrl, options, { ...urlOptions, lod: mipLevel });
|
|
1854
1996
|
urls.push(url);
|
|
1855
1997
|
}
|
|
1856
1998
|
return urls;
|
|
@@ -1867,9 +2009,7 @@ var __exports__ = (() => {
|
|
|
1867
2009
|
async function getImageArrayUrls(count, getUrl, options = {}) {
|
|
1868
2010
|
const promises = [];
|
|
1869
2011
|
for (let index = 0; index < count; index++) {
|
|
1870
|
-
const promise = getImageUrls(getUrl, options, {
|
|
1871
|
-
index
|
|
1872
|
-
});
|
|
2012
|
+
const promise = getImageUrls(getUrl, options, { index });
|
|
1873
2013
|
promises.push(promise);
|
|
1874
2014
|
}
|
|
1875
2015
|
return await Promise.all(promises);
|
|
@@ -1882,47 +2022,21 @@ var __exports__ = (() => {
|
|
|
1882
2022
|
var GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072;
|
|
1883
2023
|
var GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 34073;
|
|
1884
2024
|
var GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074;
|
|
1885
|
-
var CUBE_FACES = [
|
|
1886
|
-
face: GL_TEXTURE_CUBE_MAP_POSITIVE_X,
|
|
1887
|
-
direction: "
|
|
1888
|
-
axis: "
|
|
1889
|
-
sign: "
|
|
1890
|
-
|
|
1891
|
-
face:
|
|
1892
|
-
|
|
1893
|
-
axis: "x",
|
|
1894
|
-
sign: "negative"
|
|
1895
|
-
}, {
|
|
1896
|
-
face: GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
|
|
1897
|
-
direction: "top",
|
|
1898
|
-
axis: "y",
|
|
1899
|
-
sign: "positive"
|
|
1900
|
-
}, {
|
|
1901
|
-
face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
|
|
1902
|
-
direction: "bottom",
|
|
1903
|
-
axis: "y",
|
|
1904
|
-
sign: "negative"
|
|
1905
|
-
}, {
|
|
1906
|
-
face: GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
|
|
1907
|
-
direction: "front",
|
|
1908
|
-
axis: "z",
|
|
1909
|
-
sign: "positive"
|
|
1910
|
-
}, {
|
|
1911
|
-
face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
|
|
1912
|
-
direction: "back",
|
|
1913
|
-
axis: "z",
|
|
1914
|
-
sign: "negative"
|
|
1915
|
-
}];
|
|
2025
|
+
var CUBE_FACES = [
|
|
2026
|
+
{ face: GL_TEXTURE_CUBE_MAP_POSITIVE_X, direction: "right", axis: "x", sign: "positive" },
|
|
2027
|
+
{ face: GL_TEXTURE_CUBE_MAP_NEGATIVE_X, direction: "left", axis: "x", sign: "negative" },
|
|
2028
|
+
{ face: GL_TEXTURE_CUBE_MAP_POSITIVE_Y, direction: "top", axis: "y", sign: "positive" },
|
|
2029
|
+
{ face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, direction: "bottom", axis: "y", sign: "negative" },
|
|
2030
|
+
{ face: GL_TEXTURE_CUBE_MAP_POSITIVE_Z, direction: "front", axis: "z", sign: "positive" },
|
|
2031
|
+
{ face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, direction: "back", axis: "z", sign: "negative" }
|
|
2032
|
+
];
|
|
1916
2033
|
async function getImageCubeUrls(getUrl, options) {
|
|
1917
2034
|
const urls = {};
|
|
1918
2035
|
const promises = [];
|
|
1919
2036
|
let index = 0;
|
|
1920
2037
|
for (let i2 = 0; i2 < CUBE_FACES.length; ++i2) {
|
|
1921
2038
|
const face = CUBE_FACES[index];
|
|
1922
|
-
const promise = getImageUrls(getUrl, options, {
|
|
1923
|
-
...face,
|
|
1924
|
-
index: index++
|
|
1925
|
-
}).then((url) => {
|
|
2039
|
+
const promise = getImageUrls(getUrl, options, { ...face, index: index++ }).then((url) => {
|
|
1926
2040
|
urls[face.face] = url;
|
|
1927
2041
|
});
|
|
1928
2042
|
promises.push(promise);
|
|
@@ -1950,7 +2064,7 @@ var __exports__ = (() => {
|
|
|
1950
2064
|
mipmaps: false
|
|
1951
2065
|
}
|
|
1952
2066
|
};
|
|
1953
|
-
return __toCommonJS(
|
|
2067
|
+
return __toCommonJS(bundle_exports);
|
|
1954
2068
|
})();
|
|
1955
2069
|
return __exports__;
|
|
1956
2070
|
});
|