@loaders.gl/textures 3.4.13 → 3.4.15
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-nodejs-worker.js +3 -3
- package/dist/basis-worker.js +22 -30
- package/dist/compressed-texture-worker.js +22 -30
- package/dist/crunch-worker.js +21 -29
- package/dist/dist.min.js +19 -23
- package/dist/es5/basis-loader.js +6 -8
- package/dist/es5/basis-loader.js.map +1 -1
- package/dist/es5/bundle.js +1 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/compressed-texture-loader.js +21 -45
- package/dist/es5/compressed-texture-loader.js.map +1 -1
- package/dist/es5/compressed-texture-writer.js +2 -2
- package/dist/es5/compressed-texture-writer.js.map +1 -1
- package/dist/es5/crunch-loader.js +2 -2
- package/dist/es5/crunch-loader.js.map +1 -1
- package/dist/es5/index.js +17 -17
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/ktx2-basis-writer-nodejs.js +1 -1
- package/dist/es5/ktx2-basis-writer.js +2 -2
- package/dist/es5/ktx2-basis-writer.js.map +1 -1
- package/dist/es5/lib/encoders/encode-ktx.js +1 -1
- package/dist/es5/lib/encoders/encode-ktx.js.map +1 -1
- package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js +32 -65
- package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
- package/dist/es5/lib/encoders/encode-texture.js +9 -29
- package/dist/es5/lib/encoders/encode-texture.js.map +1 -1
- package/dist/es5/lib/gl-extensions.js +1 -1
- package/dist/es5/lib/gl-extensions.js.map +1 -1
- package/dist/es5/lib/parsers/basis-module-loader.js +51 -161
- package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -1
- package/dist/es5/lib/parsers/crunch-module-loader.js +15 -57
- package/dist/es5/lib/parsers/crunch-module-loader.js.map +1 -1
- package/dist/es5/lib/parsers/parse-basis.js +73 -105
- package/dist/es5/lib/parsers/parse-basis.js.map +1 -1
- package/dist/es5/lib/parsers/parse-crunch.js +55 -74
- package/dist/es5/lib/parsers/parse-crunch.js.map +1 -1
- package/dist/es5/lib/parsers/parse-dds.js +23 -23
- package/dist/es5/lib/parsers/parse-dds.js.map +1 -1
- package/dist/es5/lib/parsers/parse-ktx.js +14 -16
- package/dist/es5/lib/parsers/parse-ktx.js.map +1 -1
- package/dist/es5/lib/parsers/parse-npy.js +25 -26
- package/dist/es5/lib/parsers/parse-npy.js.map +1 -1
- package/dist/es5/lib/parsers/parse-pvr.js +21 -21
- package/dist/es5/lib/parsers/parse-pvr.js.map +1 -1
- package/dist/es5/lib/texture-api/async-deep-map.js +32 -147
- package/dist/es5/lib/texture-api/async-deep-map.js.map +1 -1
- package/dist/es5/lib/texture-api/deep-load.js +6 -52
- package/dist/es5/lib/texture-api/deep-load.js.map +1 -1
- package/dist/es5/lib/texture-api/generate-url.js +5 -6
- package/dist/es5/lib/texture-api/generate-url.js.map +1 -1
- package/dist/es5/lib/texture-api/load-image-array.js +14 -62
- package/dist/es5/lib/texture-api/load-image-array.js.map +1 -1
- package/dist/es5/lib/texture-api/load-image-cube.js +27 -93
- package/dist/es5/lib/texture-api/load-image-cube.js.map +1 -1
- package/dist/es5/lib/texture-api/load-image.js +35 -110
- package/dist/es5/lib/texture-api/load-image.js.map +1 -1
- package/dist/es5/lib/utils/extract-mipmap-images.js +8 -8
- package/dist/es5/lib/utils/extract-mipmap-images.js.map +1 -1
- package/dist/es5/lib/utils/ktx-format-helper.js +1 -1
- package/dist/es5/lib/utils/ktx-format-helper.js.map +1 -1
- package/dist/es5/lib/utils/texture-formats.js +9 -21
- package/dist/es5/lib/utils/texture-formats.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/npy-loader.js +8 -29
- package/dist/es5/npy-loader.js.map +1 -1
- package/dist/es5/workers/crunch-worker.js +3 -6
- package/dist/es5/workers/crunch-worker.js.map +1 -1
- package/dist/es5/workers/ktx2-basis-writer-nodejs-worker.js +22 -43
- package/dist/es5/workers/ktx2-basis-writer-nodejs-worker.js.map +1 -1
- package/dist/es5/workers/ktx2-basis-writer-worker.js +22 -43
- package/dist/es5/workers/ktx2-basis-writer-worker.js.map +1 -1
- package/dist/esm/lib/parsers/basis-module-loader.js +1 -1
- package/dist/esm/lib/utils/version.js +1 -1
- package/dist/ktx2-basis-writer-nodejs-worker.js +3 -3
- package/dist/ktx2-basis-writer-worker.js +22 -30
- package/dist/npy-worker.js +1 -1
- package/package.json +7 -7
|
@@ -1,192 +1,82 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.loadBasisEncoderModule = loadBasisEncoderModule;
|
|
8
7
|
exports.loadBasisTrascoderModule = loadBasisTrascoderModule;
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
8
|
var _workerUtils = require("@loaders.gl/worker-utils");
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
function loadBasisTrascoderModule(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
while (1) switch (_context.prev = _context.next) {
|
|
25
|
-
case 0:
|
|
26
|
-
modules = options.modules || {};
|
|
27
|
-
if (!modules.basis) {
|
|
28
|
-
_context.next = 3;
|
|
29
|
-
break;
|
|
30
|
-
}
|
|
31
|
-
return _context.abrupt("return", modules.basis);
|
|
32
|
-
case 3:
|
|
33
|
-
loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);
|
|
34
|
-
_context.next = 6;
|
|
35
|
-
return loadBasisTranscoderPromise;
|
|
36
|
-
case 6:
|
|
37
|
-
return _context.abrupt("return", _context.sent);
|
|
38
|
-
case 7:
|
|
39
|
-
case "end":
|
|
40
|
-
return _context.stop();
|
|
41
|
-
}
|
|
42
|
-
}, _callee);
|
|
43
|
-
}));
|
|
44
|
-
return _loadBasisTrascoderModule.apply(this, arguments);
|
|
45
|
-
}
|
|
46
|
-
function loadBasisTrascoder(_x2) {
|
|
47
|
-
return _loadBasisTrascoder.apply(this, arguments);
|
|
9
|
+
const VERSION = typeof "3.4.15" !== 'undefined' ? "3.4.15" : 'latest';
|
|
10
|
+
const BASIS_CDN_ENCODER_WASM = "https://unpkg.com/@loaders.gl/textures@".concat(VERSION, "/dist/libs/basis_encoder.wasm");
|
|
11
|
+
const BASIS_CDN_ENCODER_JS = "https://unpkg.com/@loaders.gl/textures@".concat(VERSION, "/dist/libs/basis_encoder.js");
|
|
12
|
+
let loadBasisTranscoderPromise;
|
|
13
|
+
async function loadBasisTrascoderModule(options) {
|
|
14
|
+
const modules = options.modules || {};
|
|
15
|
+
if (modules.basis) {
|
|
16
|
+
return modules.basis;
|
|
17
|
+
}
|
|
18
|
+
loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);
|
|
19
|
+
return await loadBasisTranscoderPromise;
|
|
48
20
|
}
|
|
49
|
-
function
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
BASIS = null;
|
|
56
|
-
wasmBinary = null;
|
|
57
|
-
_context2.t0 = Promise;
|
|
58
|
-
_context2.next = 5;
|
|
59
|
-
return (0, _workerUtils.loadLibrary)('basis_transcoder.js', 'textures', options);
|
|
60
|
-
case 5:
|
|
61
|
-
_context2.t1 = _context2.sent;
|
|
62
|
-
_context2.next = 8;
|
|
63
|
-
return (0, _workerUtils.loadLibrary)('basis_transcoder.wasm', 'textures', options);
|
|
64
|
-
case 8:
|
|
65
|
-
_context2.t2 = _context2.sent;
|
|
66
|
-
_context2.t3 = [_context2.t1, _context2.t2];
|
|
67
|
-
_context2.next = 12;
|
|
68
|
-
return _context2.t0.all.call(_context2.t0, _context2.t3);
|
|
69
|
-
case 12:
|
|
70
|
-
_yield$Promise$all = _context2.sent;
|
|
71
|
-
_yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2);
|
|
72
|
-
BASIS = _yield$Promise$all2[0];
|
|
73
|
-
wasmBinary = _yield$Promise$all2[1];
|
|
74
|
-
BASIS = BASIS || globalThis.BASIS;
|
|
75
|
-
_context2.next = 19;
|
|
76
|
-
return initializeBasisTrascoderModule(BASIS, wasmBinary);
|
|
77
|
-
case 19:
|
|
78
|
-
return _context2.abrupt("return", _context2.sent);
|
|
79
|
-
case 20:
|
|
80
|
-
case "end":
|
|
81
|
-
return _context2.stop();
|
|
82
|
-
}
|
|
83
|
-
}, _callee2);
|
|
84
|
-
}));
|
|
85
|
-
return _loadBasisTrascoder.apply(this, arguments);
|
|
21
|
+
async function loadBasisTrascoder(options) {
|
|
22
|
+
let BASIS = null;
|
|
23
|
+
let wasmBinary = null;
|
|
24
|
+
[BASIS, wasmBinary] = await Promise.all([await (0, _workerUtils.loadLibrary)('basis_transcoder.js', 'textures', options), await (0, _workerUtils.loadLibrary)('basis_transcoder.wasm', 'textures', options)]);
|
|
25
|
+
BASIS = BASIS || globalThis.BASIS;
|
|
26
|
+
return await initializeBasisTrascoderModule(BASIS, wasmBinary);
|
|
86
27
|
}
|
|
87
28
|
function initializeBasisTrascoderModule(BasisModule, wasmBinary) {
|
|
88
|
-
|
|
29
|
+
const options = {};
|
|
89
30
|
if (wasmBinary) {
|
|
90
31
|
options.wasmBinary = wasmBinary;
|
|
91
32
|
}
|
|
92
|
-
return new Promise(
|
|
93
|
-
BasisModule(options).then(
|
|
94
|
-
|
|
95
|
-
|
|
33
|
+
return new Promise(resolve => {
|
|
34
|
+
BasisModule(options).then(module => {
|
|
35
|
+
const {
|
|
36
|
+
BasisFile,
|
|
37
|
+
initializeBasis
|
|
38
|
+
} = module;
|
|
96
39
|
initializeBasis();
|
|
97
40
|
resolve({
|
|
98
|
-
BasisFile
|
|
41
|
+
BasisFile
|
|
99
42
|
});
|
|
100
43
|
});
|
|
101
44
|
});
|
|
102
45
|
}
|
|
103
|
-
|
|
104
|
-
function loadBasisEncoderModule(
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
112
|
-
case 0:
|
|
113
|
-
modules = options.modules || {};
|
|
114
|
-
if (!modules.basisEncoder) {
|
|
115
|
-
_context3.next = 3;
|
|
116
|
-
break;
|
|
117
|
-
}
|
|
118
|
-
return _context3.abrupt("return", modules.basisEncoder);
|
|
119
|
-
case 3:
|
|
120
|
-
loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);
|
|
121
|
-
_context3.next = 6;
|
|
122
|
-
return loadBasisEncoderPromise;
|
|
123
|
-
case 6:
|
|
124
|
-
return _context3.abrupt("return", _context3.sent);
|
|
125
|
-
case 7:
|
|
126
|
-
case "end":
|
|
127
|
-
return _context3.stop();
|
|
128
|
-
}
|
|
129
|
-
}, _callee3);
|
|
130
|
-
}));
|
|
131
|
-
return _loadBasisEncoderModule.apply(this, arguments);
|
|
132
|
-
}
|
|
133
|
-
function loadBasisEncoder(_x4) {
|
|
134
|
-
return _loadBasisEncoder.apply(this, arguments);
|
|
46
|
+
let loadBasisEncoderPromise;
|
|
47
|
+
async function loadBasisEncoderModule(options) {
|
|
48
|
+
const modules = options.modules || {};
|
|
49
|
+
if (modules.basisEncoder) {
|
|
50
|
+
return modules.basisEncoder;
|
|
51
|
+
}
|
|
52
|
+
loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);
|
|
53
|
+
return await loadBasisEncoderPromise;
|
|
135
54
|
}
|
|
136
|
-
function
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
BASIS_ENCODER = null;
|
|
143
|
-
wasmBinary = null;
|
|
144
|
-
_context4.t0 = Promise;
|
|
145
|
-
_context4.next = 5;
|
|
146
|
-
return (0, _workerUtils.loadLibrary)(BASIS_CDN_ENCODER_JS, 'textures', options);
|
|
147
|
-
case 5:
|
|
148
|
-
_context4.t1 = _context4.sent;
|
|
149
|
-
_context4.next = 8;
|
|
150
|
-
return (0, _workerUtils.loadLibrary)(BASIS_CDN_ENCODER_WASM, 'textures', options);
|
|
151
|
-
case 8:
|
|
152
|
-
_context4.t2 = _context4.sent;
|
|
153
|
-
_context4.t3 = [_context4.t1, _context4.t2];
|
|
154
|
-
_context4.next = 12;
|
|
155
|
-
return _context4.t0.all.call(_context4.t0, _context4.t3);
|
|
156
|
-
case 12:
|
|
157
|
-
_yield$Promise$all3 = _context4.sent;
|
|
158
|
-
_yield$Promise$all4 = (0, _slicedToArray2.default)(_yield$Promise$all3, 2);
|
|
159
|
-
BASIS_ENCODER = _yield$Promise$all4[0];
|
|
160
|
-
wasmBinary = _yield$Promise$all4[1];
|
|
161
|
-
BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
|
|
162
|
-
_context4.next = 19;
|
|
163
|
-
return initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
|
|
164
|
-
case 19:
|
|
165
|
-
return _context4.abrupt("return", _context4.sent);
|
|
166
|
-
case 20:
|
|
167
|
-
case "end":
|
|
168
|
-
return _context4.stop();
|
|
169
|
-
}
|
|
170
|
-
}, _callee4);
|
|
171
|
-
}));
|
|
172
|
-
return _loadBasisEncoder.apply(this, arguments);
|
|
55
|
+
async function loadBasisEncoder(options) {
|
|
56
|
+
let BASIS_ENCODER = null;
|
|
57
|
+
let wasmBinary = null;
|
|
58
|
+
[BASIS_ENCODER, wasmBinary] = await Promise.all([await (0, _workerUtils.loadLibrary)(BASIS_CDN_ENCODER_JS, 'textures', options), await (0, _workerUtils.loadLibrary)(BASIS_CDN_ENCODER_WASM, 'textures', options)]);
|
|
59
|
+
BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
|
|
60
|
+
return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
|
|
173
61
|
}
|
|
174
62
|
function initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {
|
|
175
|
-
|
|
63
|
+
const options = {};
|
|
176
64
|
if (wasmBinary) {
|
|
177
65
|
options.wasmBinary = wasmBinary;
|
|
178
66
|
}
|
|
179
|
-
return new Promise(
|
|
180
|
-
BasisEncoderModule(options).then(
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
67
|
+
return new Promise(resolve => {
|
|
68
|
+
BasisEncoderModule(options).then(module => {
|
|
69
|
+
const {
|
|
70
|
+
BasisFile,
|
|
71
|
+
KTX2File,
|
|
72
|
+
initializeBasis,
|
|
73
|
+
BasisEncoder
|
|
74
|
+
} = module;
|
|
185
75
|
initializeBasis();
|
|
186
76
|
resolve({
|
|
187
|
-
BasisFile
|
|
188
|
-
KTX2File
|
|
189
|
-
BasisEncoder
|
|
77
|
+
BasisFile,
|
|
78
|
+
KTX2File,
|
|
79
|
+
BasisEncoder
|
|
190
80
|
});
|
|
191
81
|
});
|
|
192
82
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basis-module-loader.js","names":["_workerUtils","require","VERSION","BASIS_CDN_ENCODER_WASM","concat","BASIS_CDN_ENCODER_JS","loadBasisTranscoderPromise","loadBasisTrascoderModule","_x","_loadBasisTrascoderModule","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","options","modules","wrap","_callee$","_context","prev","next","basis","abrupt","loadBasisTrascoder","sent","stop","_x2","_loadBasisTrascoder","_callee2","BASIS","wasmBinary","_yield$Promise$all","_yield$Promise$all2","_callee2$","_context2","t0","Promise","loadLibrary","t1","t2","t3","all","call","_slicedToArray2","globalThis","initializeBasisTrascoderModule","BasisModule","resolve","then","module","BasisFile","initializeBasis","loadBasisEncoderPromise","loadBasisEncoderModule","_x3","_loadBasisEncoderModule","_callee3","_callee3$","_context3","basisEncoder","loadBasisEncoder","_x4","_loadBasisEncoder","_callee4","BASIS_ENCODER","_yield$Promise$all3","_yield$Promise$all4","_callee4$","_context4","initializeBasisEncoderModule","BasisEncoderModule","KTX2File","BasisEncoder"],"sources":["../../../../src/lib/parsers/basis-module-loader.ts"],"sourcesContent":["// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n// @ts-nocheck\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\nconst BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.wasm`;\nconst BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.js`;\n\nlet loadBasisTranscoderPromise;\n\n/**\n * Loads wasm transcoder module\n * @param options\n * @returns {BasisFile} promise\n */\nexport async function loadBasisTrascoderModule(options) {\n const modules = options.modules || {};\n if (modules.basis) {\n return modules.basis;\n }\n\n loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);\n return await loadBasisTranscoderPromise;\n}\n\n/**\n * Loads wasm transcoder module\n * @param options\n * @returns {BasisFile} promise\n */\nasync function loadBasisTrascoder(options) {\n let BASIS = null;\n let wasmBinary = null;\n\n [BASIS, wasmBinary] = await Promise.all([\n await loadLibrary('basis_transcoder.js', 'textures', options),\n await loadLibrary('basis_transcoder.wasm', 'textures', options)\n ]);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n BASIS = BASIS || globalThis.BASIS;\n return await initializeBasisTrascoderModule(BASIS, wasmBinary);\n}\n\n/**\n * Initialize wasm transcoder module\n * @param BasisModule - js part of the module\n * @param wasmBinary - wasm part of the module\n * @returns {BasisFile} promise\n */\nfunction initializeBasisTrascoderModule(BasisModule, wasmBinary) {\n const options: {wasmBinary?} = {};\n\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n // if you try to return BasisModule the browser crashes!\n BasisModule(options).then((module) => {\n const {BasisFile, initializeBasis} = module;\n initializeBasis();\n resolve({BasisFile});\n });\n });\n}\n\nlet loadBasisEncoderPromise;\n\n/**\n * Loads wasm encoder module\n * @param options\n * @returns {BasisFile, KTX2File} promise\n */\nexport async function loadBasisEncoderModule(options) {\n const modules = options.modules || {};\n if (modules.basisEncoder) {\n return modules.basisEncoder;\n }\n\n loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);\n return await loadBasisEncoderPromise;\n}\n\n/**\n * Loads wasm encoder module\n * @param options\n * @returns {BasisFile, KTX2File} promise\n */\nasync function loadBasisEncoder(options) {\n let BASIS_ENCODER = null;\n let wasmBinary = null;\n\n [BASIS_ENCODER, wasmBinary] = await Promise.all([\n await loadLibrary(BASIS_CDN_ENCODER_JS, 'textures', options),\n await loadLibrary(BASIS_CDN_ENCODER_WASM, 'textures', options)\n ]);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;\n return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);\n}\n\n/**\n * Initialize wasm transcoder module\n * @param BasisEncoderModule - js part of the module\n * @param wasmBinary - wasm part of the module\n * @returns {BasisFile, KTX2File} promise\n */\nfunction initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {\n const options: {wasmBinary?} = {};\n\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n // if you try to return BasisModule the browser crashes!\n BasisEncoderModule(options).then((module) => {\n const {BasisFile, KTX2File, initializeBasis, BasisEncoder} = module;\n initializeBasis();\n resolve({BasisFile, KTX2File, BasisEncoder});\n });\n });\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"basis-module-loader.js","names":["_workerUtils","require","VERSION","BASIS_CDN_ENCODER_WASM","concat","BASIS_CDN_ENCODER_JS","loadBasisTranscoderPromise","loadBasisTrascoderModule","options","modules","basis","loadBasisTrascoder","BASIS","wasmBinary","Promise","all","loadLibrary","globalThis","initializeBasisTrascoderModule","BasisModule","resolve","then","module","BasisFile","initializeBasis","loadBasisEncoderPromise","loadBasisEncoderModule","basisEncoder","loadBasisEncoder","BASIS_ENCODER","initializeBasisEncoderModule","BasisEncoderModule","KTX2File","BasisEncoder"],"sources":["../../../../src/lib/parsers/basis-module-loader.ts"],"sourcesContent":["// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n// @ts-nocheck\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\nconst BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.wasm`;\nconst BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.js`;\n\nlet loadBasisTranscoderPromise;\n\n/**\n * Loads wasm transcoder module\n * @param options\n * @returns {BasisFile} promise\n */\nexport async function loadBasisTrascoderModule(options) {\n const modules = options.modules || {};\n if (modules.basis) {\n return modules.basis;\n }\n\n loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);\n return await loadBasisTranscoderPromise;\n}\n\n/**\n * Loads wasm transcoder module\n * @param options\n * @returns {BasisFile} promise\n */\nasync function loadBasisTrascoder(options) {\n let BASIS = null;\n let wasmBinary = null;\n\n [BASIS, wasmBinary] = await Promise.all([\n await loadLibrary('basis_transcoder.js', 'textures', options),\n await loadLibrary('basis_transcoder.wasm', 'textures', options)\n ]);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n BASIS = BASIS || globalThis.BASIS;\n return await initializeBasisTrascoderModule(BASIS, wasmBinary);\n}\n\n/**\n * Initialize wasm transcoder module\n * @param BasisModule - js part of the module\n * @param wasmBinary - wasm part of the module\n * @returns {BasisFile} promise\n */\nfunction initializeBasisTrascoderModule(BasisModule, wasmBinary) {\n const options: {wasmBinary?} = {};\n\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n // if you try to return BasisModule the browser crashes!\n BasisModule(options).then((module) => {\n const {BasisFile, initializeBasis} = module;\n initializeBasis();\n resolve({BasisFile});\n });\n });\n}\n\nlet loadBasisEncoderPromise;\n\n/**\n * Loads wasm encoder module\n * @param options\n * @returns {BasisFile, KTX2File} promise\n */\nexport async function loadBasisEncoderModule(options) {\n const modules = options.modules || {};\n if (modules.basisEncoder) {\n return modules.basisEncoder;\n }\n\n loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);\n return await loadBasisEncoderPromise;\n}\n\n/**\n * Loads wasm encoder module\n * @param options\n * @returns {BasisFile, KTX2File} promise\n */\nasync function loadBasisEncoder(options) {\n let BASIS_ENCODER = null;\n let wasmBinary = null;\n\n [BASIS_ENCODER, wasmBinary] = await Promise.all([\n await loadLibrary(BASIS_CDN_ENCODER_JS, 'textures', options),\n await loadLibrary(BASIS_CDN_ENCODER_WASM, 'textures', options)\n ]);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;\n return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);\n}\n\n/**\n * Initialize wasm transcoder module\n * @param BasisEncoderModule - js part of the module\n * @param wasmBinary - wasm part of the module\n * @returns {BasisFile, KTX2File} promise\n */\nfunction initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {\n const options: {wasmBinary?} = {};\n\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n // if you try to return BasisModule the browser crashes!\n BasisEncoderModule(options).then((module) => {\n const {BasisFile, KTX2File, initializeBasis, BasisEncoder} = module;\n initializeBasis();\n resolve({BasisFile, KTX2File, BasisEncoder});\n });\n });\n}\n"],"mappings":"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"}
|
|
@@ -1,67 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.loadCrunchModule = loadCrunchModule;
|
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
7
|
var _workerUtils = require("@loaders.gl/worker-utils");
|
|
11
|
-
function loadCrunchModule(
|
|
12
|
-
|
|
8
|
+
async function loadCrunchModule(options) {
|
|
9
|
+
const modules = options.modules || {};
|
|
10
|
+
if (modules.crunch) {
|
|
11
|
+
return modules.crunch;
|
|
12
|
+
}
|
|
13
|
+
return loadCrunch(options);
|
|
13
14
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
return _context.abrupt("return", modules.crunch);
|
|
26
|
-
case 3:
|
|
27
|
-
return _context.abrupt("return", loadCrunch(options));
|
|
28
|
-
case 4:
|
|
29
|
-
case "end":
|
|
30
|
-
return _context.stop();
|
|
31
|
-
}
|
|
32
|
-
}, _callee);
|
|
33
|
-
}));
|
|
34
|
-
return _loadCrunchModule.apply(this, arguments);
|
|
35
|
-
}
|
|
36
|
-
var crunchModule;
|
|
37
|
-
function loadCrunch(_x2) {
|
|
38
|
-
return _loadCrunch.apply(this, arguments);
|
|
39
|
-
}
|
|
40
|
-
function _loadCrunch() {
|
|
41
|
-
_loadCrunch = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(options) {
|
|
42
|
-
var loadCrunchDecoder;
|
|
43
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
44
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
45
|
-
case 0:
|
|
46
|
-
if (!crunchModule) {
|
|
47
|
-
_context2.next = 2;
|
|
48
|
-
break;
|
|
49
|
-
}
|
|
50
|
-
return _context2.abrupt("return", crunchModule);
|
|
51
|
-
case 2:
|
|
52
|
-
_context2.next = 4;
|
|
53
|
-
return (0, _workerUtils.loadLibrary)('crunch.js', 'textures', options);
|
|
54
|
-
case 4:
|
|
55
|
-
loadCrunchDecoder = _context2.sent;
|
|
56
|
-
loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;
|
|
57
|
-
crunchModule = loadCrunchDecoder();
|
|
58
|
-
return _context2.abrupt("return", crunchModule);
|
|
59
|
-
case 8:
|
|
60
|
-
case "end":
|
|
61
|
-
return _context2.stop();
|
|
62
|
-
}
|
|
63
|
-
}, _callee2);
|
|
64
|
-
}));
|
|
65
|
-
return _loadCrunch.apply(this, arguments);
|
|
15
|
+
let crunchModule;
|
|
16
|
+
async function loadCrunch(options) {
|
|
17
|
+
if (crunchModule) {
|
|
18
|
+
return crunchModule;
|
|
19
|
+
}
|
|
20
|
+
let loadCrunchDecoder = await (0, _workerUtils.loadLibrary)('crunch.js', 'textures', options);
|
|
21
|
+
loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;
|
|
22
|
+
crunchModule = loadCrunchDecoder();
|
|
23
|
+
return crunchModule;
|
|
66
24
|
}
|
|
67
25
|
//# sourceMappingURL=crunch-module-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crunch-module-loader.js","names":["_workerUtils","require","loadCrunchModule","
|
|
1
|
+
{"version":3,"file":"crunch-module-loader.js","names":["_workerUtils","require","loadCrunchModule","options","modules","crunch","loadCrunch","crunchModule","loadCrunchDecoder","loadLibrary","globalThis","LoadCrunchDecoder"],"sources":["../../../../src/lib/parsers/crunch-module-loader.ts"],"sourcesContent":["// @ts-nocheck\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\n/**\n * Load crunch decoder module\n * @param options - loader options\n * @returns Promise of module object\n */\nexport async function loadCrunchModule(options): Promise<any> {\n const modules = options.modules || {};\n if (modules.crunch) {\n return modules.crunch;\n }\n\n return loadCrunch(options);\n}\n\nlet crunchModule;\n\n/**\n * Load crunch decoder module\n * @param {any} options - Loader options\n * @returns {Promise<any>} Promise of Module object\n */\nasync function loadCrunch(options) {\n if (crunchModule) {\n return crunchModule;\n }\n\n let loadCrunchDecoder = await loadLibrary('crunch.js', 'textures', options);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;\n crunchModule = loadCrunchDecoder();\n return crunchModule;\n}\n"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAOO,eAAeC,gBAAgBA,CAACC,OAAO,EAAgB;EAC5D,MAAMC,OAAO,GAAGD,OAAO,CAACC,OAAO,IAAI,CAAC,CAAC;EACrC,IAAIA,OAAO,CAACC,MAAM,EAAE;IAClB,OAAOD,OAAO,CAACC,MAAM;EACvB;EAEA,OAAOC,UAAU,CAACH,OAAO,CAAC;AAC5B;AAEA,IAAII,YAAY;AAOhB,eAAeD,UAAUA,CAACH,OAAO,EAAE;EACjC,IAAII,YAAY,EAAE;IAChB,OAAOA,YAAY;EACrB;EAEA,IAAIC,iBAAiB,GAAG,MAAM,IAAAC,wBAAW,EAAC,WAAW,EAAE,UAAU,EAAEN,OAAO,CAAC;EAI3EK,iBAAiB,GAAGA,iBAAiB,IAAIE,UAAU,CAACC,iBAAiB;EACrEJ,YAAY,GAAGC,iBAAiB,CAAC,CAAC;EAClC,OAAOD,YAAY;AACrB"}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.default = parseBasis;
|
|
8
7
|
exports.selectSupportedBasisFormat = selectSupportedBasisFormat;
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
8
|
var _basisModuleLoader = require("./basis-module-loader");
|
|
13
9
|
var _glExtensions = require("../gl-extensions");
|
|
14
10
|
var _textureFormats = require("../utils/texture-formats");
|
|
15
11
|
var _parseKtx = require("./parse-ktx");
|
|
16
|
-
|
|
12
|
+
const OutputFormat = {
|
|
17
13
|
etc1: {
|
|
18
14
|
basisFormat: 0,
|
|
19
15
|
compressed: true,
|
|
@@ -89,78 +85,47 @@ var OutputFormat = {
|
|
|
89
85
|
compressed: false
|
|
90
86
|
}
|
|
91
87
|
};
|
|
92
|
-
function parseBasis(
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
fileConstructors = _context.sent;
|
|
113
|
-
return _context.abrupt("return", parseKTX2File(fileConstructors.KTX2File, data, options));
|
|
114
|
-
case 6:
|
|
115
|
-
_context.next = 8;
|
|
116
|
-
return (0, _basisModuleLoader.loadBasisTrascoderModule)(options);
|
|
117
|
-
case 8:
|
|
118
|
-
_yield$loadBasisTrasc = _context.sent;
|
|
119
|
-
BasisFile = _yield$loadBasisTrasc.BasisFile;
|
|
120
|
-
return _context.abrupt("return", parseBasisFile(BasisFile, data, options));
|
|
121
|
-
case 11:
|
|
122
|
-
_context.t0 = options.basis.module;
|
|
123
|
-
_context.next = _context.t0 === 'encoder' ? 14 : _context.t0 === 'transcoder' ? 22 : 22;
|
|
124
|
-
break;
|
|
125
|
-
case 14:
|
|
126
|
-
_context.next = 16;
|
|
127
|
-
return (0, _basisModuleLoader.loadBasisEncoderModule)(options);
|
|
128
|
-
case 16:
|
|
129
|
-
_fileConstructors = _context.sent;
|
|
130
|
-
_context.t1 = options.basis.containerFormat;
|
|
131
|
-
_context.next = _context.t1 === 'ktx2' ? 20 : _context.t1 === 'basis' ? 21 : 21;
|
|
132
|
-
break;
|
|
133
|
-
case 20:
|
|
134
|
-
return _context.abrupt("return", parseKTX2File(_fileConstructors.KTX2File, data, options));
|
|
135
|
-
case 21:
|
|
136
|
-
return _context.abrupt("return", parseBasisFile(_fileConstructors.BasisFile, data, options));
|
|
137
|
-
case 22:
|
|
138
|
-
_context.next = 24;
|
|
139
|
-
return (0, _basisModuleLoader.loadBasisTrascoderModule)(options);
|
|
140
|
-
case 24:
|
|
141
|
-
_yield$loadBasisTrasc2 = _context.sent;
|
|
142
|
-
_BasisFile = _yield$loadBasisTrasc2.BasisFile;
|
|
143
|
-
return _context.abrupt("return", parseBasisFile(_BasisFile, data, options));
|
|
144
|
-
case 27:
|
|
145
|
-
case "end":
|
|
146
|
-
return _context.stop();
|
|
88
|
+
async function parseBasis(data, options) {
|
|
89
|
+
if (options.basis.containerFormat === 'auto') {
|
|
90
|
+
if ((0, _parseKtx.isKTX)(data)) {
|
|
91
|
+
const fileConstructors = await (0, _basisModuleLoader.loadBasisEncoderModule)(options);
|
|
92
|
+
return parseKTX2File(fileConstructors.KTX2File, data, options);
|
|
93
|
+
}
|
|
94
|
+
const {
|
|
95
|
+
BasisFile
|
|
96
|
+
} = await (0, _basisModuleLoader.loadBasisTrascoderModule)(options);
|
|
97
|
+
return parseBasisFile(BasisFile, data, options);
|
|
98
|
+
}
|
|
99
|
+
switch (options.basis.module) {
|
|
100
|
+
case 'encoder':
|
|
101
|
+
const fileConstructors = await (0, _basisModuleLoader.loadBasisEncoderModule)(options);
|
|
102
|
+
switch (options.basis.containerFormat) {
|
|
103
|
+
case 'ktx2':
|
|
104
|
+
return parseKTX2File(fileConstructors.KTX2File, data, options);
|
|
105
|
+
case 'basis':
|
|
106
|
+
default:
|
|
107
|
+
return parseBasisFile(fileConstructors.BasisFile, data, options);
|
|
147
108
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
109
|
+
case 'transcoder':
|
|
110
|
+
default:
|
|
111
|
+
const {
|
|
112
|
+
BasisFile
|
|
113
|
+
} = await (0, _basisModuleLoader.loadBasisTrascoderModule)(options);
|
|
114
|
+
return parseBasisFile(BasisFile, data, options);
|
|
115
|
+
}
|
|
151
116
|
}
|
|
152
117
|
function parseBasisFile(BasisFile, data, options) {
|
|
153
|
-
|
|
118
|
+
const basisFile = new BasisFile(new Uint8Array(data));
|
|
154
119
|
try {
|
|
155
120
|
if (!basisFile.startTranscoding()) {
|
|
156
121
|
throw new Error('Failed to start basis transcoding');
|
|
157
122
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
for (
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
for (
|
|
123
|
+
const imageCount = basisFile.getNumImages();
|
|
124
|
+
const images = [];
|
|
125
|
+
for (let imageIndex = 0; imageIndex < imageCount; imageIndex++) {
|
|
126
|
+
const levelsCount = basisFile.getNumLevels(imageIndex);
|
|
127
|
+
const levels = [];
|
|
128
|
+
for (let levelIndex = 0; levelIndex < levelsCount; levelIndex++) {
|
|
164
129
|
levels.push(transcodeImage(basisFile, imageIndex, levelIndex, options));
|
|
165
130
|
}
|
|
166
131
|
images.push(levels);
|
|
@@ -172,36 +137,37 @@ function parseBasisFile(BasisFile, data, options) {
|
|
|
172
137
|
}
|
|
173
138
|
}
|
|
174
139
|
function transcodeImage(basisFile, imageIndex, levelIndex, options) {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
compressed
|
|
180
|
-
format
|
|
181
|
-
basisFormat
|
|
182
|
-
|
|
183
|
-
|
|
140
|
+
const width = basisFile.getImageWidth(imageIndex, levelIndex);
|
|
141
|
+
const height = basisFile.getImageHeight(imageIndex, levelIndex);
|
|
142
|
+
const hasAlpha = basisFile.getHasAlpha();
|
|
143
|
+
const {
|
|
144
|
+
compressed,
|
|
145
|
+
format,
|
|
146
|
+
basisFormat
|
|
147
|
+
} = getBasisOptions(options, hasAlpha);
|
|
148
|
+
const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
|
|
149
|
+
const decodedData = new Uint8Array(decodedSize);
|
|
184
150
|
if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {
|
|
185
151
|
throw new Error('failed to start Basis transcoding');
|
|
186
152
|
}
|
|
187
153
|
return {
|
|
188
|
-
width
|
|
189
|
-
height
|
|
154
|
+
width,
|
|
155
|
+
height,
|
|
190
156
|
data: decodedData,
|
|
191
|
-
compressed
|
|
192
|
-
format
|
|
193
|
-
hasAlpha
|
|
157
|
+
compressed,
|
|
158
|
+
format,
|
|
159
|
+
hasAlpha
|
|
194
160
|
};
|
|
195
161
|
}
|
|
196
162
|
function parseKTX2File(KTX2File, data, options) {
|
|
197
|
-
|
|
163
|
+
const ktx2File = new KTX2File(new Uint8Array(data));
|
|
198
164
|
try {
|
|
199
165
|
if (!ktx2File.startTranscoding()) {
|
|
200
166
|
throw new Error('failed to start KTX2 transcoding');
|
|
201
167
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
for (
|
|
168
|
+
const levelsCount = ktx2File.getLevels();
|
|
169
|
+
const levels = [];
|
|
170
|
+
for (let levelIndex = 0; levelIndex < levelsCount; levelIndex++) {
|
|
205
171
|
levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));
|
|
206
172
|
break;
|
|
207
173
|
}
|
|
@@ -212,42 +178,44 @@ function parseKTX2File(KTX2File, data, options) {
|
|
|
212
178
|
}
|
|
213
179
|
}
|
|
214
180
|
function transcodeKTX2Image(ktx2File, levelIndex, options) {
|
|
215
|
-
|
|
216
|
-
alphaFlag
|
|
217
|
-
height
|
|
218
|
-
width
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
181
|
+
const {
|
|
182
|
+
alphaFlag,
|
|
183
|
+
height,
|
|
184
|
+
width
|
|
185
|
+
} = ktx2File.getImageLevelInfo(levelIndex, 0, 0);
|
|
186
|
+
const {
|
|
187
|
+
compressed,
|
|
188
|
+
format,
|
|
189
|
+
basisFormat
|
|
190
|
+
} = getBasisOptions(options, alphaFlag);
|
|
191
|
+
const decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
|
|
192
|
+
const decodedData = new Uint8Array(decodedSize);
|
|
225
193
|
if (!ktx2File.transcodeImage(decodedData, levelIndex, 0, 0, basisFormat, 0, -1, -1)) {
|
|
226
194
|
throw new Error('Failed to transcode KTX2 image');
|
|
227
195
|
}
|
|
228
196
|
return {
|
|
229
|
-
width
|
|
230
|
-
height
|
|
197
|
+
width,
|
|
198
|
+
height,
|
|
231
199
|
data: decodedData,
|
|
232
|
-
compressed
|
|
200
|
+
compressed,
|
|
233
201
|
levelSize: decodedSize,
|
|
234
202
|
hasAlpha: alphaFlag,
|
|
235
|
-
format
|
|
203
|
+
format
|
|
236
204
|
};
|
|
237
205
|
}
|
|
238
206
|
function getBasisOptions(options, hasAlpha) {
|
|
239
|
-
|
|
207
|
+
let format = options && options.basis && options.basis.format;
|
|
240
208
|
if (format === 'auto') {
|
|
241
209
|
format = selectSupportedBasisFormat();
|
|
242
210
|
}
|
|
243
|
-
if (
|
|
211
|
+
if (typeof format === 'object') {
|
|
244
212
|
format = hasAlpha ? format.alpha : format.noAlpha;
|
|
245
213
|
}
|
|
246
214
|
format = format.toLowerCase();
|
|
247
215
|
return OutputFormat[format];
|
|
248
216
|
}
|
|
249
217
|
function selectSupportedBasisFormat() {
|
|
250
|
-
|
|
218
|
+
const supportedFormats = (0, _textureFormats.getSupportedGPUTextureFormats)();
|
|
251
219
|
if (supportedFormats.has('astc')) {
|
|
252
220
|
return 'astc-4x4';
|
|
253
221
|
} else if (supportedFormats.has('dxt')) {
|