@loaders.gl/textures 4.0.0-alpha.9 → 4.0.0-beta.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.
- package/dist/basis-worker-node.js +91 -79
- package/dist/basis-worker.js +66 -38
- package/dist/compressed-texture-loader.d.ts +2 -35
- package/dist/compressed-texture-loader.d.ts.map +1 -1
- package/dist/compressed-texture-worker.js +75 -47
- package/dist/crunch-loader.d.ts +9 -17
- package/dist/crunch-loader.d.ts.map +1 -1
- package/dist/crunch-worker.js +53 -25
- package/dist/dist.min.js +99 -55
- package/dist/es5/compressed-texture-loader.js +15 -17
- package/dist/es5/compressed-texture-loader.js.map +1 -1
- package/dist/es5/crunch-loader.js +1 -3
- package/dist/es5/crunch-loader.js.map +1 -1
- package/dist/es5/index.js +14 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/ktx2-basis-writer.js +5 -5
- package/dist/es5/ktx2-basis-writer.js.map +1 -1
- package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js +6 -5
- package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
- package/dist/es5/lib/parsers/basis-module-loader.js +26 -21
- package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -1
- package/dist/es5/lib/parsers/crunch-module-loader.js +6 -1
- package/dist/es5/lib/parsers/crunch-module-loader.js.map +1 -1
- package/dist/es5/lib/parsers/parse-basis.js +7 -7
- package/dist/es5/lib/parsers/parse-basis.js.map +1 -1
- package/dist/es5/lib/texture-api/deep-load.js.map +1 -1
- package/dist/es5/lib/utils/version.js +1 -1
- package/dist/es5/lib/utils/version.js.map +1 -1
- package/dist/es5/workers/compressed-texture-worker.js.map +1 -1
- package/dist/es5/workers/ktx2-basis-writer-worker-node.js.map +1 -1
- package/dist/es5/workers/ktx2-basis-writer-worker.js.map +1 -1
- package/dist/esm/compressed-texture-loader.js +10 -11
- package/dist/esm/compressed-texture-loader.js.map +1 -1
- package/dist/esm/crunch-loader.js +0 -1
- package/dist/esm/crunch-loader.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ktx2-basis-writer.js +6 -5
- package/dist/esm/ktx2-basis-writer.js.map +1 -1
- package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js +1 -1
- package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
- package/dist/esm/lib/parsers/basis-module-loader.js +13 -10
- package/dist/esm/lib/parsers/basis-module-loader.js.map +1 -1
- package/dist/esm/lib/parsers/crunch-module-loader.js +4 -1
- package/dist/esm/lib/parsers/crunch-module-loader.js.map +1 -1
- package/dist/esm/lib/parsers/parse-basis.js +3 -3
- package/dist/esm/lib/parsers/parse-basis.js.map +1 -1
- package/dist/esm/lib/texture-api/deep-load.js.map +1 -1
- package/dist/esm/lib/utils/version.js +1 -1
- package/dist/esm/lib/utils/version.js.map +1 -1
- package/dist/esm/workers/compressed-texture-worker.js.map +1 -1
- package/dist/esm/workers/ktx2-basis-writer-worker-node.js.map +1 -1
- package/dist/esm/workers/ktx2-basis-writer-worker.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/ktx2-basis-writer-worker-node.js +86 -72
- package/dist/ktx2-basis-writer-worker.js +61 -31
- package/dist/ktx2-basis-writer.d.ts +8 -7
- package/dist/ktx2-basis-writer.d.ts.map +1 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -1
- package/dist/lib/parsers/basis-module-loader.d.ts +11 -1
- package/dist/lib/parsers/basis-module-loader.d.ts.map +1 -1
- package/dist/lib/parsers/crunch-module-loader.d.ts +4 -0
- package/dist/lib/parsers/crunch-module-loader.d.ts.map +1 -1
- package/dist/lib/texture-api/deep-load.d.ts.map +1 -1
- package/dist/npy-worker.js +9 -4
- package/dist/workers/crunch-worker.d.ts +13 -9
- package/dist/workers/crunch-worker.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/compressed-texture-loader.ts +14 -17
- package/src/crunch-loader.ts +10 -7
- package/src/index.ts +4 -0
- package/src/ktx2-basis-writer.ts +14 -13
- package/src/lib/encoders/encode-ktx2-basis-texture.ts +6 -1
- package/src/lib/parsers/basis-module-loader.ts +19 -16
- package/src/lib/parsers/crunch-module-loader.ts +6 -1
- package/src/lib/parsers/parse-basis.ts +3 -3
- package/src/lib/texture-api/deep-load.ts +0 -1
- package/src/workers/compressed-texture-worker.ts +1 -0
- package/src/workers/ktx2-basis-writer-worker-node.ts +2 -2
- package/src/workers/ktx2-basis-writer-worker.ts +2 -2
- package/dist/basis-loader.js +0 -37
- package/dist/bundle.js +0 -5
- package/dist/compressed-texture-loader.js +0 -64
- package/dist/compressed-texture-writer.js +0 -34
- package/dist/crunch-loader.js +0 -25
- package/dist/index.js +0 -52
- package/dist/ktx2-basis-writer.js +0 -26
- package/dist/lib/encoders/encode-ktx.js +0 -10
- package/dist/lib/encoders/encode-ktx2-basis-texture.js +0 -41
- package/dist/lib/encoders/encode-texture.js +0 -27
- package/dist/lib/gl-extensions.js +0 -72
- package/dist/lib/parsers/basis-module-loader.js +0 -114
- package/dist/lib/parsers/crunch-module-loader.js +0 -35
- package/dist/lib/parsers/parse-basis.js +0 -245
- package/dist/lib/parsers/parse-compressed-texture.js +0 -26
- package/dist/lib/parsers/parse-crunch.js +0 -106
- package/dist/lib/parsers/parse-dds.js +0 -108
- package/dist/lib/parsers/parse-ktx.js +0 -46
- package/dist/lib/parsers/parse-npy.js +0 -81
- package/dist/lib/parsers/parse-pvr.js +0 -250
- package/dist/lib/texture-api/async-deep-map.js +0 -41
- package/dist/lib/texture-api/deep-load.js +0 -16
- package/dist/lib/texture-api/generate-url.js +0 -17
- package/dist/lib/texture-api/load-image-array.js +0 -21
- package/dist/lib/texture-api/load-image-cube.js +0 -47
- package/dist/lib/texture-api/load-image.js +0 -43
- package/dist/lib/texture-api/texture-api-types.js +0 -3
- package/dist/lib/utils/extract-mipmap-images.js +0 -50
- package/dist/lib/utils/ktx-format-helper.js +0 -125
- package/dist/lib/utils/texture-formats.js +0 -51
- package/dist/lib/utils/version.js +0 -8
- package/dist/npy-loader.js +0 -31
- package/dist/types.js +0 -1
- package/dist/workers/basis-worker-node.js +0 -7
- package/dist/workers/basis-worker.js +0 -5
- package/dist/workers/compressed-texture-worker.js +0 -5
- package/dist/workers/crunch-worker.js +0 -14
- package/dist/workers/ktx2-basis-writer-worker-node.js +0 -28
- package/dist/workers/ktx2-basis-writer-worker.js +0 -26
- package/dist/workers/npy-worker.js +0 -5
package/dist/dist.min.js
CHANGED
|
@@ -38,15 +38,24 @@
|
|
|
38
38
|
});
|
|
39
39
|
|
|
40
40
|
// ../worker-utils/src/lib/env-utils/version.ts
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
DEFAULT_VERSION = "beta";
|
|
45
|
-
VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
|
|
41
|
+
function getVersion() {
|
|
42
|
+
if (!globalThis._loadersgl_?.version) {
|
|
43
|
+
globalThis._loadersgl_ = globalThis._loadersgl_ || {};
|
|
46
44
|
if (typeof __VERSION__ === "undefined") {
|
|
47
45
|
console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
|
|
46
|
+
globalThis._loadersgl_.version = NPM_TAG;
|
|
47
|
+
} else {
|
|
48
|
+
globalThis._loadersgl_.version = __VERSION__;
|
|
48
49
|
}
|
|
49
50
|
}
|
|
51
|
+
return globalThis._loadersgl_.version;
|
|
52
|
+
}
|
|
53
|
+
var NPM_TAG, VERSION2;
|
|
54
|
+
var init_version2 = __esm({
|
|
55
|
+
"../worker-utils/src/lib/env-utils/version.ts"() {
|
|
56
|
+
NPM_TAG = "beta";
|
|
57
|
+
VERSION2 = getVersion();
|
|
58
|
+
}
|
|
50
59
|
});
|
|
51
60
|
|
|
52
61
|
// ../worker-utils/src/lib/env-utils/assert.ts
|
|
@@ -89,37 +98,37 @@
|
|
|
89
98
|
});
|
|
90
99
|
|
|
91
100
|
// ../worker-utils/src/lib/library-utils/library-utils.ts
|
|
92
|
-
async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
|
|
101
|
+
async function loadLibrary(libraryUrl, moduleName = null, options = {}, libraryName = null) {
|
|
93
102
|
if (moduleName) {
|
|
94
|
-
libraryUrl = getLibraryUrl(libraryUrl, moduleName, options);
|
|
103
|
+
libraryUrl = getLibraryUrl(libraryUrl, moduleName, options, libraryName);
|
|
95
104
|
}
|
|
96
105
|
loadLibraryPromises[libraryUrl] = loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
|
|
97
106
|
return await loadLibraryPromises[libraryUrl];
|
|
98
107
|
}
|
|
99
|
-
function getLibraryUrl(library, moduleName, options) {
|
|
100
|
-
if (library.startsWith("http")) {
|
|
108
|
+
function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
|
|
109
|
+
if (!options.useLocalLibraries && library.startsWith("http")) {
|
|
101
110
|
return library;
|
|
102
111
|
}
|
|
112
|
+
libraryName = libraryName || library;
|
|
103
113
|
const modules = options.modules || {};
|
|
104
|
-
if (modules[
|
|
105
|
-
return modules[
|
|
114
|
+
if (modules[libraryName]) {
|
|
115
|
+
return modules[libraryName];
|
|
106
116
|
}
|
|
107
117
|
if (!isBrowser) {
|
|
108
|
-
return `modules/${moduleName}/dist/libs/${
|
|
118
|
+
return `modules/${moduleName}/dist/libs/${libraryName}`;
|
|
109
119
|
}
|
|
110
120
|
if (options.CDN) {
|
|
111
121
|
assert(options.CDN.startsWith("http"));
|
|
112
|
-
return `${options.CDN}/${moduleName}@${
|
|
122
|
+
return `${options.CDN}/${moduleName}@${VERSION2}/dist/libs/${libraryName}`;
|
|
113
123
|
}
|
|
114
124
|
if (isWorker) {
|
|
115
|
-
return `../src/libs/${
|
|
125
|
+
return `../src/libs/${libraryName}`;
|
|
116
126
|
}
|
|
117
|
-
return `modules/${moduleName}/src/libs/${
|
|
127
|
+
return `modules/${moduleName}/src/libs/${libraryName}`;
|
|
118
128
|
}
|
|
119
129
|
async function loadLibraryFromFile(libraryUrl) {
|
|
120
130
|
if (libraryUrl.endsWith("wasm")) {
|
|
121
|
-
|
|
122
|
-
return await response2.arrayBuffer();
|
|
131
|
+
return await loadAsArrayBuffer(libraryUrl);
|
|
123
132
|
}
|
|
124
133
|
if (!isBrowser) {
|
|
125
134
|
try {
|
|
@@ -131,8 +140,7 @@
|
|
|
131
140
|
if (isWorker) {
|
|
132
141
|
return importScripts(libraryUrl);
|
|
133
142
|
}
|
|
134
|
-
const
|
|
135
|
-
const scriptSource = await response.text();
|
|
143
|
+
const scriptSource = await loadAsText(libraryUrl);
|
|
136
144
|
return loadLibraryFromString(scriptSource, libraryUrl);
|
|
137
145
|
}
|
|
138
146
|
function loadLibraryFromString(scriptSource, id) {
|
|
@@ -153,15 +161,27 @@
|
|
|
153
161
|
document.body.appendChild(script);
|
|
154
162
|
return null;
|
|
155
163
|
}
|
|
156
|
-
|
|
164
|
+
async function loadAsArrayBuffer(url) {
|
|
165
|
+
if (!node.readFileAsArrayBuffer || url.startsWith("http")) {
|
|
166
|
+
const response = await fetch(url);
|
|
167
|
+
return await response.arrayBuffer();
|
|
168
|
+
}
|
|
169
|
+
return await node.readFileAsArrayBuffer(url);
|
|
170
|
+
}
|
|
171
|
+
async function loadAsText(url) {
|
|
172
|
+
if (!node.readFileAsText || url.startsWith("http")) {
|
|
173
|
+
const response = await fetch(url);
|
|
174
|
+
return await response.text();
|
|
175
|
+
}
|
|
176
|
+
return await node.readFileAsText(url);
|
|
177
|
+
}
|
|
178
|
+
var node, loadLibraryPromises;
|
|
157
179
|
var init_library_utils = __esm({
|
|
158
180
|
"../worker-utils/src/lib/library-utils/library-utils.ts"() {
|
|
159
181
|
init_globals();
|
|
160
182
|
node = __toModule(require_require_utils());
|
|
161
183
|
init_assert();
|
|
162
184
|
init_version2();
|
|
163
|
-
LATEST = "beta";
|
|
164
|
-
VERSION3 = typeof VERSION2 !== "undefined" ? VERSION2 : LATEST;
|
|
165
185
|
loadLibraryPromises = {};
|
|
166
186
|
}
|
|
167
187
|
});
|
|
@@ -181,25 +201,25 @@
|
|
|
181
201
|
});
|
|
182
202
|
|
|
183
203
|
// src/lib/parsers/basis-module-loader.ts
|
|
184
|
-
async function
|
|
204
|
+
async function loadBasisTranscoderModule(options) {
|
|
185
205
|
const modules = options.modules || {};
|
|
186
206
|
if (modules.basis) {
|
|
187
207
|
return modules.basis;
|
|
188
208
|
}
|
|
189
|
-
loadBasisTranscoderPromise = loadBasisTranscoderPromise ||
|
|
209
|
+
loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTranscoder(options);
|
|
190
210
|
return await loadBasisTranscoderPromise;
|
|
191
211
|
}
|
|
192
|
-
async function
|
|
212
|
+
async function loadBasisTranscoder(options) {
|
|
193
213
|
let BASIS = null;
|
|
194
214
|
let wasmBinary = null;
|
|
195
215
|
[BASIS, wasmBinary] = await Promise.all([
|
|
196
|
-
await loadLibrary(
|
|
197
|
-
await loadLibrary(
|
|
216
|
+
await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER, "textures", options),
|
|
217
|
+
await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, "textures", options)
|
|
198
218
|
]);
|
|
199
219
|
BASIS = BASIS || globalThis.BASIS;
|
|
200
|
-
return await
|
|
220
|
+
return await initializeBasisTranscoderModule(BASIS, wasmBinary);
|
|
201
221
|
}
|
|
202
|
-
function
|
|
222
|
+
function initializeBasisTranscoderModule(BasisModule, wasmBinary) {
|
|
203
223
|
const options = {};
|
|
204
224
|
if (wasmBinary) {
|
|
205
225
|
options.wasmBinary = wasmBinary;
|
|
@@ -224,8 +244,8 @@
|
|
|
224
244
|
let BASIS_ENCODER = null;
|
|
225
245
|
let wasmBinary = null;
|
|
226
246
|
[BASIS_ENCODER, wasmBinary] = await Promise.all([
|
|
227
|
-
await loadLibrary(
|
|
228
|
-
await loadLibrary(
|
|
247
|
+
await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER, "textures", options),
|
|
248
|
+
await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, "textures", options)
|
|
229
249
|
]);
|
|
230
250
|
BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
|
|
231
251
|
return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
|
|
@@ -243,13 +263,16 @@
|
|
|
243
263
|
});
|
|
244
264
|
});
|
|
245
265
|
}
|
|
246
|
-
var
|
|
266
|
+
var BASIS_EXTERNAL_LIBRARIES, loadBasisTranscoderPromise, loadBasisEncoderPromise;
|
|
247
267
|
var init_basis_module_loader = __esm({
|
|
248
268
|
"src/lib/parsers/basis-module-loader.ts"() {
|
|
249
269
|
init_src();
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
270
|
+
BASIS_EXTERNAL_LIBRARIES = {
|
|
271
|
+
TRANSCODER: "basis_transcoder.js",
|
|
272
|
+
TRANSCODER_WASM: "basis_transcoder.wasm",
|
|
273
|
+
ENCODER: "basis_encoder.js",
|
|
274
|
+
ENCODER_WASM: "basis_encoder.wasm"
|
|
275
|
+
};
|
|
253
276
|
}
|
|
254
277
|
});
|
|
255
278
|
|
|
@@ -625,7 +648,7 @@
|
|
|
625
648
|
const fileConstructors = await loadBasisEncoderModule(options);
|
|
626
649
|
return parseKTX2File(fileConstructors.KTX2File, data, options);
|
|
627
650
|
}
|
|
628
|
-
const { BasisFile } = await
|
|
651
|
+
const { BasisFile } = await loadBasisTranscoderModule(options);
|
|
629
652
|
return parseBasisFile(BasisFile, data, options);
|
|
630
653
|
}
|
|
631
654
|
switch (options.basis.module) {
|
|
@@ -640,7 +663,7 @@
|
|
|
640
663
|
}
|
|
641
664
|
case "transcoder":
|
|
642
665
|
default:
|
|
643
|
-
const { BasisFile } = await
|
|
666
|
+
const { BasisFile } = await loadBasisTranscoderModule(options);
|
|
644
667
|
return parseBasisFile(BasisFile, data, options);
|
|
645
668
|
}
|
|
646
669
|
}
|
|
@@ -1204,18 +1227,12 @@
|
|
|
1204
1227
|
});
|
|
1205
1228
|
|
|
1206
1229
|
// src/compressed-texture-loader.ts
|
|
1207
|
-
var
|
|
1230
|
+
var CompressedTextureWorkerLoader, CompressedTextureLoader;
|
|
1208
1231
|
var init_compressed_texture_loader = __esm({
|
|
1209
1232
|
"src/compressed-texture-loader.ts"() {
|
|
1210
1233
|
init_version();
|
|
1211
1234
|
init_parse_compressed_texture();
|
|
1212
1235
|
init_parse_basis();
|
|
1213
|
-
DEFAULT_TEXTURE_LOADER_OPTIONS = {
|
|
1214
|
-
"compressed-texture": {
|
|
1215
|
-
libraryPath: "libs/",
|
|
1216
|
-
useBasis: false
|
|
1217
|
-
}
|
|
1218
|
-
};
|
|
1219
1236
|
CompressedTextureWorkerLoader = {
|
|
1220
1237
|
name: "Texture Containers",
|
|
1221
1238
|
id: "compressed-texture",
|
|
@@ -1236,12 +1253,17 @@
|
|
|
1236
1253
|
"application/octet-stream"
|
|
1237
1254
|
],
|
|
1238
1255
|
binary: true,
|
|
1239
|
-
options:
|
|
1256
|
+
options: {
|
|
1257
|
+
"compressed-texture": {
|
|
1258
|
+
libraryPath: "libs/",
|
|
1259
|
+
useBasis: false
|
|
1260
|
+
}
|
|
1261
|
+
}
|
|
1240
1262
|
};
|
|
1241
1263
|
CompressedTextureLoader = {
|
|
1242
1264
|
...CompressedTextureWorkerLoader,
|
|
1243
1265
|
parse: async (arrayBuffer, options) => {
|
|
1244
|
-
if (options["compressed-texture"]
|
|
1266
|
+
if (options?.["compressed-texture"]?.useBasis) {
|
|
1245
1267
|
options.basis = {
|
|
1246
1268
|
format: {
|
|
1247
1269
|
alpha: "BC3",
|
|
@@ -1251,7 +1273,8 @@
|
|
|
1251
1273
|
containerFormat: "ktx2",
|
|
1252
1274
|
module: "encoder"
|
|
1253
1275
|
};
|
|
1254
|
-
|
|
1276
|
+
const result = await parseBasis(arrayBuffer, options);
|
|
1277
|
+
return result[0];
|
|
1255
1278
|
}
|
|
1256
1279
|
return parseCompressedTexture(arrayBuffer);
|
|
1257
1280
|
}
|
|
@@ -1372,6 +1395,16 @@
|
|
|
1372
1395
|
}
|
|
1373
1396
|
});
|
|
1374
1397
|
|
|
1398
|
+
// src/lib/parsers/crunch-module-loader.ts
|
|
1399
|
+
var CRUNCH_EXTERNAL_LIBRARIES;
|
|
1400
|
+
var init_crunch_module_loader = __esm({
|
|
1401
|
+
"src/lib/parsers/crunch-module-loader.ts"() {
|
|
1402
|
+
CRUNCH_EXTERNAL_LIBRARIES = {
|
|
1403
|
+
DECODER: "crunch.js"
|
|
1404
|
+
};
|
|
1405
|
+
}
|
|
1406
|
+
});
|
|
1407
|
+
|
|
1375
1408
|
// src/lib/encoders/encode-texture.ts
|
|
1376
1409
|
async function encodeImageURLToCompressedTextureURL(inputUrl, outputUrl, options) {
|
|
1377
1410
|
const args = [
|
|
@@ -1430,7 +1463,12 @@
|
|
|
1430
1463
|
|
|
1431
1464
|
// src/lib/encoders/encode-ktx2-basis-texture.ts
|
|
1432
1465
|
async function encodeKTX2BasisTexture(image, options = {}) {
|
|
1433
|
-
const {
|
|
1466
|
+
const {
|
|
1467
|
+
useSRGB = false,
|
|
1468
|
+
qualityLevel = 10,
|
|
1469
|
+
encodeUASTC = false,
|
|
1470
|
+
mipmaps = false
|
|
1471
|
+
} = options?.["ktx2-basis-writer"] || {};
|
|
1434
1472
|
const { BasisEncoder } = await loadBasisEncoderModule(options);
|
|
1435
1473
|
const basisEncoder = new BasisEncoder();
|
|
1436
1474
|
try {
|
|
@@ -1473,10 +1511,12 @@
|
|
|
1473
1511
|
version: VERSION,
|
|
1474
1512
|
extensions: ["ktx2"],
|
|
1475
1513
|
options: {
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1514
|
+
["ktx2-basis-writer"]: {
|
|
1515
|
+
useSRGB: false,
|
|
1516
|
+
qualityLevel: 10,
|
|
1517
|
+
encodeUASTC: false,
|
|
1518
|
+
mipmaps: false
|
|
1519
|
+
}
|
|
1480
1520
|
},
|
|
1481
1521
|
encode: encodeKTX2BasisTexture
|
|
1482
1522
|
};
|
|
@@ -1484,10 +1524,10 @@
|
|
|
1484
1524
|
});
|
|
1485
1525
|
|
|
1486
1526
|
// ../images/src/lib/utils/version.ts
|
|
1487
|
-
var
|
|
1527
|
+
var VERSION3;
|
|
1488
1528
|
var init_version3 = __esm({
|
|
1489
1529
|
"../images/src/lib/utils/version.ts"() {
|
|
1490
|
-
|
|
1530
|
+
VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
1491
1531
|
}
|
|
1492
1532
|
});
|
|
1493
1533
|
|
|
@@ -1939,7 +1979,7 @@
|
|
|
1939
1979
|
id: "image",
|
|
1940
1980
|
module: "images",
|
|
1941
1981
|
name: "Images",
|
|
1942
|
-
version:
|
|
1982
|
+
version: VERSION3,
|
|
1943
1983
|
mimeTypes: MIME_TYPES,
|
|
1944
1984
|
extensions: EXTENSIONS,
|
|
1945
1985
|
parse: parseImage,
|
|
@@ -2128,8 +2168,10 @@
|
|
|
2128
2168
|
// src/index.ts
|
|
2129
2169
|
var src_exports = {};
|
|
2130
2170
|
__export(src_exports, {
|
|
2171
|
+
BASIS_EXTERNAL_LIBRARIES: () => BASIS_EXTERNAL_LIBRARIES,
|
|
2131
2172
|
BasisLoader: () => BasisLoader,
|
|
2132
2173
|
BasisWorkerLoader: () => BasisWorkerLoader,
|
|
2174
|
+
CRUNCH_EXTERNAL_LIBRARIES: () => CRUNCH_EXTERNAL_LIBRARIES,
|
|
2133
2175
|
CompressedTextureLoader: () => CompressedTextureLoader,
|
|
2134
2176
|
CompressedTextureWorkerLoader: () => CompressedTextureWorkerLoader,
|
|
2135
2177
|
CompressedTextureWriter: () => CompressedTextureWriter,
|
|
@@ -2154,6 +2196,8 @@
|
|
|
2154
2196
|
init_compressed_texture_loader();
|
|
2155
2197
|
init_crunch_loader();
|
|
2156
2198
|
init_npy_loader();
|
|
2199
|
+
init_basis_module_loader();
|
|
2200
|
+
init_crunch_module_loader();
|
|
2157
2201
|
init_compressed_texture_writer();
|
|
2158
2202
|
init_ktx2_basis_writer();
|
|
2159
2203
|
init_load_image();
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.CompressedTextureWorkerLoader = exports.CompressedTextureLoader = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
@@ -13,12 +13,6 @@ var _parseCompressedTexture = require("./lib/parsers/parse-compressed-texture");
|
|
|
13
13
|
var _parseBasis = _interopRequireDefault(require("./lib/parsers/parse-basis"));
|
|
14
14
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
15
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
|
-
var DEFAULT_TEXTURE_LOADER_OPTIONS = {
|
|
17
|
-
'compressed-texture': {
|
|
18
|
-
libraryPath: 'libs/',
|
|
19
|
-
useBasis: false
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
16
|
var CompressedTextureWorkerLoader = {
|
|
23
17
|
name: 'Texture Containers',
|
|
24
18
|
id: 'compressed-texture',
|
|
@@ -28,17 +22,24 @@ var CompressedTextureWorkerLoader = {
|
|
|
28
22
|
extensions: ['ktx', 'ktx2', 'dds', 'pvr'],
|
|
29
23
|
mimeTypes: ['image/ktx2', 'image/ktx', 'image/vnd-ms.dds', 'image/x-dds', 'application/octet-stream'],
|
|
30
24
|
binary: true,
|
|
31
|
-
options:
|
|
25
|
+
options: {
|
|
26
|
+
'compressed-texture': {
|
|
27
|
+
libraryPath: 'libs/',
|
|
28
|
+
useBasis: false
|
|
29
|
+
}
|
|
30
|
+
}
|
|
32
31
|
};
|
|
33
32
|
exports.CompressedTextureWorkerLoader = CompressedTextureWorkerLoader;
|
|
34
33
|
var CompressedTextureLoader = _objectSpread(_objectSpread({}, CompressedTextureWorkerLoader), {}, {
|
|
35
34
|
parse: function () {
|
|
36
35
|
var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
|
|
36
|
+
var _options$compressedT;
|
|
37
|
+
var result;
|
|
37
38
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
38
39
|
while (1) switch (_context.prev = _context.next) {
|
|
39
40
|
case 0:
|
|
40
|
-
if (!options['compressed-texture'].useBasis) {
|
|
41
|
-
_context.next =
|
|
41
|
+
if (!(options !== null && options !== void 0 && (_options$compressedT = options['compressed-texture']) !== null && _options$compressedT !== void 0 && _options$compressedT.useBasis)) {
|
|
42
|
+
_context.next = 6;
|
|
42
43
|
break;
|
|
43
44
|
}
|
|
44
45
|
options.basis = _objectSpread(_objectSpread({
|
|
@@ -53,10 +54,11 @@ var CompressedTextureLoader = _objectSpread(_objectSpread({}, CompressedTextureW
|
|
|
53
54
|
_context.next = 4;
|
|
54
55
|
return (0, _parseBasis.default)(arrayBuffer, options);
|
|
55
56
|
case 4:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return _context.abrupt("return", (0, _parseCompressedTexture.parseCompressedTexture)(arrayBuffer));
|
|
57
|
+
result = _context.sent;
|
|
58
|
+
return _context.abrupt("return", result[0]);
|
|
59
59
|
case 6:
|
|
60
|
+
return _context.abrupt("return", (0, _parseCompressedTexture.parseCompressedTexture)(arrayBuffer));
|
|
61
|
+
case 7:
|
|
60
62
|
case "end":
|
|
61
63
|
return _context.stop();
|
|
62
64
|
}
|
|
@@ -69,8 +71,4 @@ var CompressedTextureLoader = _objectSpread(_objectSpread({}, CompressedTextureW
|
|
|
69
71
|
}()
|
|
70
72
|
});
|
|
71
73
|
exports.CompressedTextureLoader = CompressedTextureLoader;
|
|
72
|
-
var _TypecheckCompressedTextureWorkerLoader = CompressedTextureWorkerLoader;
|
|
73
|
-
exports._TypecheckCompressedTextureWorkerLoader = _TypecheckCompressedTextureWorkerLoader;
|
|
74
|
-
var _TypecheckCompressedTextureLoader = CompressedTextureLoader;
|
|
75
|
-
exports._TypecheckCompressedTextureLoader = _TypecheckCompressedTextureLoader;
|
|
76
74
|
//# sourceMappingURL=compressed-texture-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compressed-texture-loader.js","names":["_version","require","_parseCompressedTexture","_parseBasis","_interopRequireDefault","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","
|
|
1
|
+
{"version":3,"file":"compressed-texture-loader.js","names":["_version","require","_parseCompressedTexture","_parseBasis","_interopRequireDefault","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","CompressedTextureWorkerLoader","name","id","module","version","VERSION","worker","extensions","mimeTypes","binary","options","libraryPath","useBasis","exports","CompressedTextureLoader","parse","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","_options$compressedT","result","wrap","_callee$","_context","prev","next","basis","format","alpha","noAlpha","containerFormat","parseBasis","sent","abrupt","parseCompressedTexture","stop","_x","_x2"],"sources":["../../src/compressed-texture-loader.ts"],"sourcesContent":["import type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport {parseCompressedTexture} from './lib/parsers/parse-compressed-texture';\nimport parseBasis from './lib/parsers/parse-basis';\n\nexport type TextureLoaderOptions = {\n 'compressed-texture'?: {\n libraryPath?: string;\n useBasis?: boolean;\n };\n};\n\n/**\n * Worker Loader for KTX, DDS, and PVR texture container formats\n */\nexport const CompressedTextureWorkerLoader: Loader<any, never, TextureLoaderOptions> = {\n name: 'Texture Containers',\n id: 'compressed-texture',\n module: 'textures',\n version: VERSION,\n worker: true,\n extensions: [\n 'ktx',\n 'ktx2',\n 'dds', // WEBGL_compressed_texture_s3tc, WEBGL_compressed_texture_atc\n 'pvr' // WEBGL_compressed_texture_pvrtc\n ],\n mimeTypes: [\n 'image/ktx2',\n 'image/ktx',\n 'image/vnd-ms.dds',\n 'image/x-dds',\n 'application/octet-stream'\n ],\n binary: true,\n options: {\n 'compressed-texture': {\n libraryPath: 'libs/',\n useBasis: false\n }\n }\n};\n\n/**\n * Loader for KTX, DDS, and PVR texture container formats\n */\nexport const CompressedTextureLoader: LoaderWithParser<any, never, TextureLoaderOptions> = {\n ...CompressedTextureWorkerLoader,\n parse: async (arrayBuffer: ArrayBuffer, options?: TextureLoaderOptions) => {\n if (options?.['compressed-texture']?.useBasis) {\n // @ts-expect-error TODO not allowed to modify inputs\n options.basis = {\n format: {\n alpha: 'BC3',\n noAlpha: 'BC1'\n },\n // @ts-expect-error TODO not allowed to modify inputs\n ...options.basis,\n containerFormat: 'ktx2',\n module: 'encoder'\n };\n const result = await parseBasis(arrayBuffer, options);\n return result[0];\n }\n return parseCompressedTexture(arrayBuffer);\n }\n};\n"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.CrunchLoader = void 0;
|
|
7
7
|
var _version = require("./lib/utils/version");
|
|
8
8
|
var CrunchLoader = {
|
|
9
9
|
id: 'crunch',
|
|
@@ -21,6 +21,4 @@ var CrunchLoader = {
|
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
23
|
exports.CrunchLoader = CrunchLoader;
|
|
24
|
-
var _TypecheckCrunchLoader = CrunchLoader;
|
|
25
|
-
exports._TypecheckCrunchLoader = _TypecheckCrunchLoader;
|
|
26
24
|
//# sourceMappingURL=crunch-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crunch-loader.js","names":["_version","require","CrunchLoader","id","name","module","version","VERSION","worker","extensions","mimeTypes","binary","options","crunch","libraryPath","exports"
|
|
1
|
+
{"version":3,"file":"crunch-loader.js","names":["_version","require","CrunchLoader","id","name","module","version","VERSION","worker","extensions","mimeTypes","binary","options","crunch","libraryPath","exports"],"sources":["../../src/crunch-loader.ts"],"sourcesContent":["import type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {TextureLevel} from '@loaders.gl/schema';\nimport {VERSION} from './lib/utils/version';\n\nexport type CrunchLoaderOptions = LoaderOptions & {\n crunch?: {\n libraryPath?: string;\n };\n};\n\n/**\n * Worker loader for the Crunch compressed texture container format\n * @note We avoid bundling crunch - it is a rare format and large lib, so we only offer worker loader\n */\nexport const CrunchLoader: Loader<TextureLevel[], never, CrunchLoaderOptions> = {\n id: 'crunch',\n name: 'Crunch',\n module: 'textures',\n version: VERSION,\n worker: true,\n extensions: ['crn'],\n mimeTypes: ['image/crn', 'image/x-crn', 'application/octet-stream'],\n binary: true,\n options: {\n crunch: {\n libraryPath: 'libs/'\n }\n }\n};\n"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAYO,IAAMC,YAAgE,GAAG;EAC9EC,EAAE,EAAE,QAAQ;EACZC,IAAI,EAAE,QAAQ;EACdC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAChBC,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,0BAA0B,CAAC;EACnEC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,MAAM,EAAE;MACNC,WAAW,EAAE;IACf;EACF;AACF,CAAC;AAACC,OAAA,CAAAb,YAAA,GAAAA,YAAA"}
|
package/dist/es5/index.js
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "BASIS_EXTERNAL_LIBRARIES", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _basisModuleLoader.BASIS_EXTERNAL_LIBRARIES;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
6
12
|
Object.defineProperty(exports, "BasisLoader", {
|
|
7
13
|
enumerable: true,
|
|
8
14
|
get: function get() {
|
|
@@ -15,6 +21,12 @@ Object.defineProperty(exports, "BasisWorkerLoader", {
|
|
|
15
21
|
return _basisLoader.BasisWorkerLoader;
|
|
16
22
|
}
|
|
17
23
|
});
|
|
24
|
+
Object.defineProperty(exports, "CRUNCH_EXTERNAL_LIBRARIES", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _crunchModuleLoader.CRUNCH_EXTERNAL_LIBRARIES;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
18
30
|
Object.defineProperty(exports, "CompressedTextureLoader", {
|
|
19
31
|
enumerable: true,
|
|
20
32
|
get: function get() {
|
|
@@ -105,6 +117,8 @@ var _basisLoader = require("./basis-loader");
|
|
|
105
117
|
var _compressedTextureLoader = require("./compressed-texture-loader");
|
|
106
118
|
var _crunchLoader = require("./crunch-loader");
|
|
107
119
|
var _npyLoader = require("./npy-loader");
|
|
120
|
+
var _basisModuleLoader = require("./lib/parsers/basis-module-loader");
|
|
121
|
+
var _crunchModuleLoader = require("./lib/parsers/crunch-module-loader");
|
|
108
122
|
var _compressedTextureWriter = require("./compressed-texture-writer");
|
|
109
123
|
var _ktx2BasisWriter = require("./ktx2-basis-writer");
|
|
110
124
|
var _loadImage = require("./lib/texture-api/load-image");
|
package/dist/es5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_version","require","_basisLoader","_compressedTextureLoader","_crunchLoader","_npyLoader","_compressedTextureWriter","_ktx2BasisWriter","_loadImage","_loadImageArray","_loadImageCube","_glExtensions","_parseBasis","_textureFormats","KTX2BasisWriterWorker","name","id","module","version","VERSION","extensions","worker","options","useSRGB","qualityLevel","encodeUASTC","mipmaps","exports"],"sources":["../../src/index.ts"],"sourcesContent":["import {VERSION} from './lib/utils/version';\n\n// Types\nexport type {GPUTextureFormat} from '@loaders.gl/schema';\nexport type {TextureLoaderOptions} from './compressed-texture-loader';\n\n// Loaders\nexport {BasisLoader, BasisWorkerLoader} from './basis-loader';\nexport {CompressedTextureLoader, CompressedTextureWorkerLoader} from './compressed-texture-loader';\nexport {CrunchLoader} from './crunch-loader';\nexport {NPYLoader, NPYWorkerLoader} from './npy-loader';\n\n// Writers\nexport {CompressedTextureWriter} from './compressed-texture-writer';\nexport {KTX2BasisWriter} from './ktx2-basis-writer';\n\nexport const KTX2BasisWriterWorker = {\n name: 'Basis Universal Supercompressed GPU Texture',\n id: 'ktx2-basis-writer',\n module: 'textures',\n version: VERSION,\n extensions: ['ktx2'],\n worker: true,\n options: {\n useSRGB: false,\n qualityLevel: 10,\n encodeUASTC: false,\n mipmaps: false\n }\n};\n\n// Texture Loading API\nexport {loadImageTexture} from './lib/texture-api/load-image';\nexport {loadImageTextureArray} from './lib/texture-api/load-image-array';\nexport {loadImageTextureCube} from './lib/texture-api/load-image-cube';\n\n// Utilities\nexport {GL_EXTENSIONS_CONSTANTS} from './lib/gl-extensions';\nexport {selectSupportedBasisFormat} from './lib/parsers/parse-basis';\nexport {getSupportedGPUTextureFormats} from './lib/utils/texture-formats';\n\n// DEPRECATED\nexport {CrunchLoader as CrunchWorkerLoader} from './crunch-loader';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_version","require","_basisLoader","_compressedTextureLoader","_crunchLoader","_npyLoader","_basisModuleLoader","_crunchModuleLoader","_compressedTextureWriter","_ktx2BasisWriter","_loadImage","_loadImageArray","_loadImageCube","_glExtensions","_parseBasis","_textureFormats","KTX2BasisWriterWorker","name","id","module","version","VERSION","extensions","worker","options","useSRGB","qualityLevel","encodeUASTC","mipmaps","exports"],"sources":["../../src/index.ts"],"sourcesContent":["import {VERSION} from './lib/utils/version';\n\n// Types\nexport type {GPUTextureFormat} from '@loaders.gl/schema';\nexport type {TextureLoaderOptions} from './compressed-texture-loader';\n\n// Loaders\nexport {BasisLoader, BasisWorkerLoader} from './basis-loader';\nexport {CompressedTextureLoader, CompressedTextureWorkerLoader} from './compressed-texture-loader';\nexport {CrunchLoader} from './crunch-loader';\nexport {NPYLoader, NPYWorkerLoader} from './npy-loader';\n\n// Module constants\nexport {BASIS_EXTERNAL_LIBRARIES} from './lib/parsers/basis-module-loader';\nexport {CRUNCH_EXTERNAL_LIBRARIES} from './lib/parsers/crunch-module-loader';\n\n// Writers\nexport {CompressedTextureWriter} from './compressed-texture-writer';\nexport {KTX2BasisWriter} from './ktx2-basis-writer';\n\nexport const KTX2BasisWriterWorker = {\n name: 'Basis Universal Supercompressed GPU Texture',\n id: 'ktx2-basis-writer',\n module: 'textures',\n version: VERSION,\n extensions: ['ktx2'],\n worker: true,\n options: {\n useSRGB: false,\n qualityLevel: 10,\n encodeUASTC: false,\n mipmaps: false\n }\n};\n\n// Texture Loading API\nexport {loadImageTexture} from './lib/texture-api/load-image';\nexport {loadImageTextureArray} from './lib/texture-api/load-image-array';\nexport {loadImageTextureCube} from './lib/texture-api/load-image-cube';\n\n// Utilities\nexport {GL_EXTENSIONS_CONSTANTS} from './lib/gl-extensions';\nexport {selectSupportedBasisFormat} from './lib/parsers/parse-basis';\nexport {getSupportedGPUTextureFormats} from './lib/utils/texture-formats';\n\n// DEPRECATED\nexport {CrunchLoader as CrunchWorkerLoader} from './crunch-loader';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAOA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,wBAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAGA,IAAAK,kBAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AAGA,IAAAO,wBAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AAkBA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,eAAA,GAAAV,OAAA;AACA,IAAAW,cAAA,GAAAX,OAAA;AAGA,IAAAY,aAAA,GAAAZ,OAAA;AACA,IAAAa,WAAA,GAAAb,OAAA;AACA,IAAAc,eAAA,GAAAd,OAAA;AAvBO,IAAMe,qBAAqB,GAAG;EACnCC,IAAI,EAAE,6CAA6C;EACnDC,EAAE,EAAE,mBAAmB;EACvBC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAChBC,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,OAAO,EAAE,KAAK;IACdC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,KAAK;IAClBC,OAAO,EAAE;EACX;AACF,CAAC;AAACC,OAAA,CAAAb,qBAAA,GAAAA,qBAAA"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
|
-
exports.
|
|
7
|
+
exports.KTX2BasisWriter = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
9
|
var _version = require("./lib/utils/version");
|
|
8
10
|
var _encodeKtx2BasisTexture = require("./lib/encoders/encode-ktx2-basis-texture");
|
|
9
11
|
var KTX2BasisWriter = {
|
|
@@ -12,15 +14,13 @@ var KTX2BasisWriter = {
|
|
|
12
14
|
module: 'textures',
|
|
13
15
|
version: _version.VERSION,
|
|
14
16
|
extensions: ['ktx2'],
|
|
15
|
-
options: {
|
|
17
|
+
options: (0, _defineProperty2.default)({}, 'ktx2-basis-writer', {
|
|
16
18
|
useSRGB: false,
|
|
17
19
|
qualityLevel: 10,
|
|
18
20
|
encodeUASTC: false,
|
|
19
21
|
mipmaps: false
|
|
20
|
-
},
|
|
22
|
+
}),
|
|
21
23
|
encode: _encodeKtx2BasisTexture.encodeKTX2BasisTexture
|
|
22
24
|
};
|
|
23
25
|
exports.KTX2BasisWriter = KTX2BasisWriter;
|
|
24
|
-
var _TypecheckKTX2TextureWriter = KTX2BasisWriter;
|
|
25
|
-
exports._TypecheckKTX2TextureWriter = _TypecheckKTX2TextureWriter;
|
|
26
26
|
//# sourceMappingURL=ktx2-basis-writer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ktx2-basis-writer.js","names":["_version","require","_encodeKtx2BasisTexture","KTX2BasisWriter","name","id","module","version","VERSION","extensions","options","useSRGB","qualityLevel","encodeUASTC","mipmaps","encode","encodeKTX2BasisTexture","exports"
|
|
1
|
+
{"version":3,"file":"ktx2-basis-writer.js","names":["_version","require","_encodeKtx2BasisTexture","KTX2BasisWriter","name","id","module","version","VERSION","extensions","options","_defineProperty2","default","useSRGB","qualityLevel","encodeUASTC","mipmaps","encode","encodeKTX2BasisTexture","exports"],"sources":["../../src/ktx2-basis-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport type {ImageDataType} from '@loaders.gl/images';\nimport {encodeKTX2BasisTexture} from './lib/encoders/encode-ktx2-basis-texture';\n\n/** @todo should be in basis sub-object */\nexport type KTX2BasisWriterOptions = WriterOptions & {\n ['ktx2-basis-writer']?: {\n useSRGB?: boolean;\n qualityLevel?: number;\n encodeUASTC?: boolean;\n mipmaps?: boolean;\n };\n};\n\n/**\n * Basis Universal Supercompressed GPU Texture.\n * Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/textureSetDefinitionFormat.cmn.md\n */\nexport const KTX2BasisWriter: Writer<ImageDataType, unknown, KTX2BasisWriterOptions> = {\n name: 'Basis Universal Supercompressed GPU Texture',\n id: 'ktx2-basis-writer',\n module: 'textures',\n version: VERSION,\n\n extensions: ['ktx2'],\n options: {\n ['ktx2-basis-writer']: {\n useSRGB: false,\n qualityLevel: 10,\n encodeUASTC: false,\n mipmaps: false\n }\n },\n\n encode: encodeKTX2BasisTexture\n};\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,uBAAA,GAAAD,OAAA;AAgBO,IAAME,eAAuE,GAAG;EACrFC,IAAI,EAAE,6CAA6C;EACnDC,EAAE,EAAE,mBAAmB;EACvBC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAEhBC,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,OAAO,MAAAC,gBAAA,CAAAC,OAAA,MACJ,mBAAmB,EAAG;IACrBC,OAAO,EAAE,KAAK;IACdC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,KAAK;IAClBC,OAAO,EAAE;EACX,CAAC,CACF;EAEDC,MAAM,EAAEC;AACV,CAAC;AAACC,OAAA,CAAAhB,eAAA,GAAAA,eAAA"}
|
|
@@ -14,13 +14,14 @@ function encodeKTX2BasisTexture(_x) {
|
|
|
14
14
|
function _encodeKTX2BasisTexture() {
|
|
15
15
|
_encodeKTX2BasisTexture = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(image) {
|
|
16
16
|
var options,
|
|
17
|
-
|
|
17
|
+
_ref,
|
|
18
|
+
_ref$useSRGB,
|
|
18
19
|
useSRGB,
|
|
19
|
-
|
|
20
|
+
_ref$qualityLevel,
|
|
20
21
|
qualityLevel,
|
|
21
|
-
|
|
22
|
+
_ref$encodeUASTC,
|
|
22
23
|
encodeUASTC,
|
|
23
|
-
|
|
24
|
+
_ref$mipmaps,
|
|
24
25
|
mipmaps,
|
|
25
26
|
_yield$loadBasisEncod,
|
|
26
27
|
BasisEncoder,
|
|
@@ -33,7 +34,7 @@ function _encodeKTX2BasisTexture() {
|
|
|
33
34
|
while (1) switch (_context.prev = _context.next) {
|
|
34
35
|
case 0:
|
|
35
36
|
options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
|
|
36
|
-
|
|
37
|
+
_ref = (options === null || options === void 0 ? void 0 : options['ktx2-basis-writer']) || {}, _ref$useSRGB = _ref.useSRGB, useSRGB = _ref$useSRGB === void 0 ? false : _ref$useSRGB, _ref$qualityLevel = _ref.qualityLevel, qualityLevel = _ref$qualityLevel === void 0 ? 10 : _ref$qualityLevel, _ref$encodeUASTC = _ref.encodeUASTC, encodeUASTC = _ref$encodeUASTC === void 0 ? false : _ref$encodeUASTC, _ref$mipmaps = _ref.mipmaps, mipmaps = _ref$mipmaps === void 0 ? false : _ref$mipmaps;
|
|
37
38
|
_context.next = 4;
|
|
38
39
|
return (0, _basisModuleLoader.loadBasisEncoderModule)(options);
|
|
39
40
|
case 4:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode-ktx2-basis-texture.js","names":["_basisModuleLoader","require","encodeKTX2BasisTexture","_x","_encodeKTX2BasisTexture","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","image","options","
|
|
1
|
+
{"version":3,"file":"encode-ktx2-basis-texture.js","names":["_basisModuleLoader","require","encodeKTX2BasisTexture","_x","_encodeKTX2BasisTexture","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","image","options","_ref","_ref$useSRGB","useSRGB","_ref$qualityLevel","qualityLevel","_ref$encodeUASTC","encodeUASTC","_ref$mipmaps","mipmaps","_yield$loadBasisEncod","BasisEncoder","basisEncoder","basisFileData","numOutputBytes","actualKTX2FileData","_args","wrap","_callee$","_context","prev","next","length","undefined","loadBasisEncoderModule","sent","Uint8Array","width","height","setCreateKTX2File","setKTX2UASTCSupercompression","setKTX2SRGBTransferFunc","setSliceSourceImage","data","setPerceptual","setMipSRGB","setQualityLevel","setUASTC","setMipGen","encode","subarray","buffer","abrupt","t0","console","error","delete","finish","stop"],"sources":["../../../../src/lib/encoders/encode-ktx2-basis-texture.ts"],"sourcesContent":["import type {ImageDataType} from '@loaders.gl/images';\nimport {loadBasisEncoderModule} from '../parsers/basis-module-loader';\n\n/**\n * Encodes image to Basis Universal Supercompressed GPU Texture.\n * Code example is taken from here - https://github.com/BinomialLLC/basis_universal/blob/master/webgl/ktx2_encode_test/index.html#L279\n * BasisEncoder API - https://github.com/BinomialLLC/basis_universal/blob/master/webgl/transcoder/basis_wrappers.cpp#L1712\n * @param image\n * @param options\n */\nexport async function encodeKTX2BasisTexture(\n image: ImageDataType,\n options: any = {}\n): Promise<ArrayBuffer> {\n // TODO remove default values after writer options will be normalized like it done in load module.\n const {\n useSRGB = false,\n qualityLevel = 10,\n encodeUASTC = false,\n mipmaps = false\n } = options?.['ktx2-basis-writer'] || {};\n const {BasisEncoder} = await loadBasisEncoderModule(options);\n const basisEncoder = new BasisEncoder();\n\n try {\n const basisFileData = new Uint8Array(image.width * image.height * 4);\n basisEncoder.setCreateKTX2File(true);\n basisEncoder.setKTX2UASTCSupercompression(true);\n basisEncoder.setKTX2SRGBTransferFunc(true);\n\n basisEncoder.setSliceSourceImage(0, image.data, image.width, image.height, false);\n basisEncoder.setPerceptual(useSRGB);\n basisEncoder.setMipSRGB(useSRGB);\n basisEncoder.setQualityLevel(qualityLevel);\n basisEncoder.setUASTC(encodeUASTC);\n basisEncoder.setMipGen(mipmaps);\n\n const numOutputBytes = basisEncoder.encode(basisFileData);\n\n const actualKTX2FileData = basisFileData.subarray(0, numOutputBytes).buffer;\n return actualKTX2FileData;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Basis Universal Supercompressed GPU Texture encoder Error: ', error);\n throw error;\n } finally {\n basisEncoder.delete();\n }\n}\n"],"mappings":"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"}
|