@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,75 +1,27 @@
|
|
|
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.getImageArrayUrls = getImageArrayUrls;
|
|
8
7
|
exports.loadImageTextureArray = loadImageTextureArray;
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
8
|
var _images = require("@loaders.gl/images");
|
|
12
9
|
var _loadImage = require("./load-image");
|
|
13
10
|
var _deepLoad = require("./deep-load");
|
|
14
|
-
function loadImageTextureArray(
|
|
15
|
-
|
|
11
|
+
async function loadImageTextureArray(count, getUrl) {
|
|
12
|
+
let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
13
|
+
const imageUrls = await getImageArrayUrls(count, getUrl, options);
|
|
14
|
+
return await (0, _deepLoad.deepLoad)(imageUrls, _images.ImageLoader.parse, options);
|
|
16
15
|
}
|
|
17
|
-
function
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return getImageArrayUrls(count, getUrl, options);
|
|
28
|
-
case 3:
|
|
29
|
-
imageUrls = _context.sent;
|
|
30
|
-
_context.next = 6;
|
|
31
|
-
return (0, _deepLoad.deepLoad)(imageUrls, _images.ImageLoader.parse, options);
|
|
32
|
-
case 6:
|
|
33
|
-
return _context.abrupt("return", _context.sent);
|
|
34
|
-
case 7:
|
|
35
|
-
case "end":
|
|
36
|
-
return _context.stop();
|
|
37
|
-
}
|
|
38
|
-
}, _callee);
|
|
39
|
-
}));
|
|
40
|
-
return _loadImageTextureArray.apply(this, arguments);
|
|
41
|
-
}
|
|
42
|
-
function getImageArrayUrls(_x3, _x4) {
|
|
43
|
-
return _getImageArrayUrls.apply(this, arguments);
|
|
44
|
-
}
|
|
45
|
-
function _getImageArrayUrls() {
|
|
46
|
-
_getImageArrayUrls = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(count, getUrl) {
|
|
47
|
-
var options,
|
|
48
|
-
promises,
|
|
49
|
-
index,
|
|
50
|
-
promise,
|
|
51
|
-
_args2 = arguments;
|
|
52
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
53
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
54
|
-
case 0:
|
|
55
|
-
options = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : {};
|
|
56
|
-
promises = [];
|
|
57
|
-
for (index = 0; index < count; index++) {
|
|
58
|
-
promise = (0, _loadImage.getImageUrls)(getUrl, options, {
|
|
59
|
-
index: index
|
|
60
|
-
});
|
|
61
|
-
promises.push(promise);
|
|
62
|
-
}
|
|
63
|
-
_context2.next = 5;
|
|
64
|
-
return Promise.all(promises);
|
|
65
|
-
case 5:
|
|
66
|
-
return _context2.abrupt("return", _context2.sent);
|
|
67
|
-
case 6:
|
|
68
|
-
case "end":
|
|
69
|
-
return _context2.stop();
|
|
70
|
-
}
|
|
71
|
-
}, _callee2);
|
|
72
|
-
}));
|
|
73
|
-
return _getImageArrayUrls.apply(this, arguments);
|
|
16
|
+
async function getImageArrayUrls(count, getUrl) {
|
|
17
|
+
let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
18
|
+
const promises = [];
|
|
19
|
+
for (let index = 0; index < count; index++) {
|
|
20
|
+
const promise = (0, _loadImage.getImageUrls)(getUrl, options, {
|
|
21
|
+
index
|
|
22
|
+
});
|
|
23
|
+
promises.push(promise);
|
|
24
|
+
}
|
|
25
|
+
return await Promise.all(promises);
|
|
74
26
|
}
|
|
75
27
|
//# sourceMappingURL=load-image-array.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-image-array.js","names":["_images","require","_loadImage","_deepLoad","loadImageTextureArray","
|
|
1
|
+
{"version":3,"file":"load-image-array.js","names":["_images","require","_loadImage","_deepLoad","loadImageTextureArray","count","getUrl","options","arguments","length","undefined","imageUrls","getImageArrayUrls","deepLoad","ImageLoader","parse","promises","index","promise","getImageUrls","push","Promise","all"],"sources":["../../../../src/lib/texture-api/load-image-array.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport {ImageLoader} from '@loaders.gl/images';\nimport type {GetUrl} from './texture-api-types';\nimport {getImageUrls} from './load-image';\nimport {deepLoad} from './deep-load';\n\nexport async function loadImageTextureArray(\n count: number,\n getUrl: GetUrl,\n options = {}\n): Promise<any> {\n const imageUrls = await getImageArrayUrls(count, getUrl, options);\n return await deepLoad(imageUrls, ImageLoader.parse, options);\n}\n\nexport async function getImageArrayUrls(count: number, getUrl: GetUrl, options = {}): Promise<any> {\n const promises: Promise<any>[] = [];\n for (let index = 0; index < count; index++) {\n const promise = getImageUrls(getUrl, options, {index});\n promises.push(promise);\n }\n return await Promise.all(promises);\n}\n"],"mappings":";;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEO,eAAeG,qBAAqBA,CACzCC,KAAa,EACbC,MAAc,EAEA;EAAA,IADdC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEZ,MAAMG,SAAS,GAAG,MAAMC,iBAAiB,CAACP,KAAK,EAAEC,MAAM,EAAEC,OAAO,CAAC;EACjE,OAAO,MAAM,IAAAM,kBAAQ,EAACF,SAAS,EAAEG,mBAAW,CAACC,KAAK,EAAER,OAAO,CAAC;AAC9D;AAEO,eAAeK,iBAAiBA,CAACP,KAAa,EAAEC,MAAc,EAA8B;EAAA,IAA5BC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACjF,MAAMQ,QAAwB,GAAG,EAAE;EACnC,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGZ,KAAK,EAAEY,KAAK,EAAE,EAAE;IAC1C,MAAMC,OAAO,GAAG,IAAAC,uBAAY,EAACb,MAAM,EAAEC,OAAO,EAAE;MAACU;IAAK,CAAC,CAAC;IACtDD,QAAQ,CAACI,IAAI,CAACF,OAAO,CAAC;EACxB;EACA,OAAO,MAAMG,OAAO,CAACC,GAAG,CAACN,QAAQ,CAAC;AACpC"}
|
|
@@ -1,26 +1,20 @@
|
|
|
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.getImageCubeUrls = getImageCubeUrls;
|
|
8
7
|
exports.loadImageTextureCube = loadImageTextureCube;
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
8
|
var _images = require("@loaders.gl/images");
|
|
13
9
|
var _loadImage = require("./load-image");
|
|
14
10
|
var _deepLoad = require("./deep-load");
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
var GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851a;
|
|
23
|
-
var CUBE_FACES = [{
|
|
11
|
+
const GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;
|
|
12
|
+
const GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;
|
|
13
|
+
const GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;
|
|
14
|
+
const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;
|
|
15
|
+
const GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;
|
|
16
|
+
const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851a;
|
|
17
|
+
const CUBE_FACES = [{
|
|
24
18
|
face: GL_TEXTURE_CUBE_MAP_POSITIVE_X,
|
|
25
19
|
direction: 'right',
|
|
26
20
|
axis: 'x',
|
|
@@ -51,86 +45,26 @@ var CUBE_FACES = [{
|
|
|
51
45
|
axis: 'z',
|
|
52
46
|
sign: 'negative'
|
|
53
47
|
}];
|
|
54
|
-
function getImageCubeUrls(
|
|
55
|
-
|
|
48
|
+
async function getImageCubeUrls(getUrl, options) {
|
|
49
|
+
const urls = {};
|
|
50
|
+
const promises = [];
|
|
51
|
+
let index = 0;
|
|
52
|
+
for (let i = 0; i < CUBE_FACES.length; ++i) {
|
|
53
|
+
const face = CUBE_FACES[index];
|
|
54
|
+
const promise = (0, _loadImage.getImageUrls)(getUrl, options, {
|
|
55
|
+
...face,
|
|
56
|
+
index: index++
|
|
57
|
+
}).then(url => {
|
|
58
|
+
urls[face.face] = url;
|
|
59
|
+
});
|
|
60
|
+
promises.push(promise);
|
|
61
|
+
}
|
|
62
|
+
await Promise.all(promises);
|
|
63
|
+
return urls;
|
|
56
64
|
}
|
|
57
|
-
function
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
62
|
-
case 0:
|
|
63
|
-
urls = {};
|
|
64
|
-
promises = [];
|
|
65
|
-
index = 0;
|
|
66
|
-
_loop = _regenerator.default.mark(function _loop() {
|
|
67
|
-
var face, promise;
|
|
68
|
-
return _regenerator.default.wrap(function _loop$(_context) {
|
|
69
|
-
while (1) switch (_context.prev = _context.next) {
|
|
70
|
-
case 0:
|
|
71
|
-
face = CUBE_FACES[index];
|
|
72
|
-
promise = (0, _loadImage.getImageUrls)(getUrl, options, _objectSpread(_objectSpread({}, face), {}, {
|
|
73
|
-
index: index++
|
|
74
|
-
})).then(function (url) {
|
|
75
|
-
urls[face.face] = url;
|
|
76
|
-
});
|
|
77
|
-
promises.push(promise);
|
|
78
|
-
case 3:
|
|
79
|
-
case "end":
|
|
80
|
-
return _context.stop();
|
|
81
|
-
}
|
|
82
|
-
}, _loop);
|
|
83
|
-
});
|
|
84
|
-
i = 0;
|
|
85
|
-
case 5:
|
|
86
|
-
if (!(i < CUBE_FACES.length)) {
|
|
87
|
-
_context2.next = 10;
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
return _context2.delegateYield(_loop(), "t0", 7);
|
|
91
|
-
case 7:
|
|
92
|
-
++i;
|
|
93
|
-
_context2.next = 5;
|
|
94
|
-
break;
|
|
95
|
-
case 10:
|
|
96
|
-
_context2.next = 12;
|
|
97
|
-
return Promise.all(promises);
|
|
98
|
-
case 12:
|
|
99
|
-
return _context2.abrupt("return", urls);
|
|
100
|
-
case 13:
|
|
101
|
-
case "end":
|
|
102
|
-
return _context2.stop();
|
|
103
|
-
}
|
|
104
|
-
}, _callee);
|
|
105
|
-
}));
|
|
106
|
-
return _getImageCubeUrls.apply(this, arguments);
|
|
107
|
-
}
|
|
108
|
-
function loadImageTextureCube(_x3) {
|
|
109
|
-
return _loadImageTextureCube.apply(this, arguments);
|
|
110
|
-
}
|
|
111
|
-
function _loadImageTextureCube() {
|
|
112
|
-
_loadImageTextureCube = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(getUrl) {
|
|
113
|
-
var options,
|
|
114
|
-
urls,
|
|
115
|
-
_args3 = arguments;
|
|
116
|
-
return _regenerator.default.wrap(function _callee2$(_context3) {
|
|
117
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
118
|
-
case 0:
|
|
119
|
-
options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
|
|
120
|
-
_context3.next = 3;
|
|
121
|
-
return getImageCubeUrls(getUrl, options);
|
|
122
|
-
case 3:
|
|
123
|
-
urls = _context3.sent;
|
|
124
|
-
_context3.next = 6;
|
|
125
|
-
return (0, _deepLoad.deepLoad)(urls, _images.ImageLoader.parse, options);
|
|
126
|
-
case 6:
|
|
127
|
-
return _context3.abrupt("return", _context3.sent);
|
|
128
|
-
case 7:
|
|
129
|
-
case "end":
|
|
130
|
-
return _context3.stop();
|
|
131
|
-
}
|
|
132
|
-
}, _callee2);
|
|
133
|
-
}));
|
|
134
|
-
return _loadImageTextureCube.apply(this, arguments);
|
|
65
|
+
async function loadImageTextureCube(getUrl) {
|
|
66
|
+
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
67
|
+
const urls = await getImageCubeUrls(getUrl, options);
|
|
68
|
+
return await (0, _deepLoad.deepLoad)(urls, _images.ImageLoader.parse, options);
|
|
135
69
|
}
|
|
136
70
|
//# sourceMappingURL=load-image-cube.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-image-cube.js","names":["_images","require","_loadImage","_deepLoad","
|
|
1
|
+
{"version":3,"file":"load-image-cube.js","names":["_images","require","_loadImage","_deepLoad","GL_TEXTURE_CUBE_MAP_POSITIVE_X","GL_TEXTURE_CUBE_MAP_NEGATIVE_X","GL_TEXTURE_CUBE_MAP_POSITIVE_Y","GL_TEXTURE_CUBE_MAP_NEGATIVE_Y","GL_TEXTURE_CUBE_MAP_POSITIVE_Z","GL_TEXTURE_CUBE_MAP_NEGATIVE_Z","CUBE_FACES","face","direction","axis","sign","getImageCubeUrls","getUrl","options","urls","promises","index","i","length","promise","getImageUrls","then","url","push","Promise","all","loadImageTextureCube","arguments","undefined","deepLoad","ImageLoader","parse"],"sources":["../../../../src/lib/texture-api/load-image-cube.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport {ImageLoader} from '@loaders.gl/images';\nimport type {GetUrl, UrlOptions} from './texture-api-types';\nimport {getImageUrls} from './load-image';\nimport {deepLoad} from './deep-load';\n\n// Returned map will be have keys corresponding to GL cubemap constants\nconst GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;\nconst GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;\nconst GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;\nconst GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;\nconst GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;\nconst GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851a;\n\nconst CUBE_FACES = [\n {face: GL_TEXTURE_CUBE_MAP_POSITIVE_X, direction: 'right', axis: 'x', sign: 'positive'},\n {face: GL_TEXTURE_CUBE_MAP_NEGATIVE_X, direction: 'left', axis: 'x', sign: 'negative'},\n {face: GL_TEXTURE_CUBE_MAP_POSITIVE_Y, direction: 'top', axis: 'y', sign: 'positive'},\n {face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, direction: 'bottom', axis: 'y', sign: 'negative'},\n {face: GL_TEXTURE_CUBE_MAP_POSITIVE_Z, direction: 'front', axis: 'z', sign: 'positive'},\n {face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, direction: 'back', axis: 'z', sign: 'negative'}\n];\n\nexport type ImageCubeTexture = {\n GL_TEXTURE_CUBE_MAP_POSITIVE_X: any;\n GL_TEXTURE_CUBE_MAP_NEGATIVE_X: any;\n GL_TEXTURE_CUBE_MAP_POSITIVE_Y: any;\n GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: any;\n GL_TEXTURE_CUBE_MAP_POSITIVE_Z: any;\n GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: any;\n};\n\n// Returns an object with six key-value pairs containing the urls (or url mip arrays)\n// for each cube face\nexport async function getImageCubeUrls(getUrl: GetUrl, options: UrlOptions) {\n // Calculate URLs\n const urls: Record<number, string | string[]> = {};\n const promises: Promise<any>[] = [];\n\n let index = 0;\n for (let i = 0; i < CUBE_FACES.length; ++i) {\n const face = CUBE_FACES[index];\n const promise = getImageUrls(getUrl, options, {...face, index: index++}).then((url) => {\n urls[face.face] = url;\n });\n promises.push(promise);\n }\n\n await Promise.all(promises);\n\n return urls;\n}\n\n// Returns an object with six key-value pairs containing the images (or image mip arrays)\n// for each cube face\nexport async function loadImageTextureCube(\n getUrl: GetUrl,\n options = {}\n): Promise<ImageCubeTexture> {\n const urls = await getImageCubeUrls(getUrl, options);\n return (await deepLoad(urls, ImageLoader.parse, options)) as ImageCubeTexture;\n}\n"],"mappings":";;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAGA,MAAMG,8BAA8B,GAAG,MAAM;AAC7C,MAAMC,8BAA8B,GAAG,MAAM;AAC7C,MAAMC,8BAA8B,GAAG,MAAM;AAC7C,MAAMC,8BAA8B,GAAG,MAAM;AAC7C,MAAMC,8BAA8B,GAAG,MAAM;AAC7C,MAAMC,8BAA8B,GAAG,MAAM;AAE7C,MAAMC,UAAU,GAAG,CACjB;EAACC,IAAI,EAAEP,8BAA8B;EAAEQ,SAAS,EAAE,OAAO;EAAEC,IAAI,EAAE,GAAG;EAAEC,IAAI,EAAE;AAAU,CAAC,EACvF;EAACH,IAAI,EAAEN,8BAA8B;EAAEO,SAAS,EAAE,MAAM;EAAEC,IAAI,EAAE,GAAG;EAAEC,IAAI,EAAE;AAAU,CAAC,EACtF;EAACH,IAAI,EAAEL,8BAA8B;EAAEM,SAAS,EAAE,KAAK;EAAEC,IAAI,EAAE,GAAG;EAAEC,IAAI,EAAE;AAAU,CAAC,EACrF;EAACH,IAAI,EAAEJ,8BAA8B;EAAEK,SAAS,EAAE,QAAQ;EAAEC,IAAI,EAAE,GAAG;EAAEC,IAAI,EAAE;AAAU,CAAC,EACxF;EAACH,IAAI,EAAEH,8BAA8B;EAAEI,SAAS,EAAE,OAAO;EAAEC,IAAI,EAAE,GAAG;EAAEC,IAAI,EAAE;AAAU,CAAC,EACvF;EAACH,IAAI,EAAEF,8BAA8B;EAAEG,SAAS,EAAE,MAAM;EAAEC,IAAI,EAAE,GAAG;EAAEC,IAAI,EAAE;AAAU,CAAC,CACvF;AAaM,eAAeC,gBAAgBA,CAACC,MAAc,EAAEC,OAAmB,EAAE;EAE1E,MAAMC,IAAuC,GAAG,CAAC,CAAC;EAClD,MAAMC,QAAwB,GAAG,EAAE;EAEnC,IAAIC,KAAK,GAAG,CAAC;EACb,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGX,UAAU,CAACY,MAAM,EAAE,EAAED,CAAC,EAAE;IAC1C,MAAMV,IAAI,GAAGD,UAAU,CAACU,KAAK,CAAC;IAC9B,MAAMG,OAAO,GAAG,IAAAC,uBAAY,EAACR,MAAM,EAAEC,OAAO,EAAE;MAAC,GAAGN,IAAI;MAAES,KAAK,EAAEA,KAAK;IAAE,CAAC,CAAC,CAACK,IAAI,CAAEC,GAAG,IAAK;MACrFR,IAAI,CAACP,IAAI,CAACA,IAAI,CAAC,GAAGe,GAAG;IACvB,CAAC,CAAC;IACFP,QAAQ,CAACQ,IAAI,CAACJ,OAAO,CAAC;EACxB;EAEA,MAAMK,OAAO,CAACC,GAAG,CAACV,QAAQ,CAAC;EAE3B,OAAOD,IAAI;AACb;AAIO,eAAeY,oBAAoBA,CACxCd,MAAc,EAEa;EAAA,IAD3BC,OAAO,GAAAc,SAAA,CAAAT,MAAA,QAAAS,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC,CAAC;EAEZ,MAAMb,IAAI,GAAG,MAAMH,gBAAgB,CAACC,MAAM,EAAEC,OAAO,CAAC;EACpD,OAAQ,MAAM,IAAAgB,kBAAQ,EAACf,IAAI,EAAEgB,mBAAW,CAACC,KAAK,EAAElB,OAAO,CAAC;AAC1D"}
|
|
@@ -1,127 +1,52 @@
|
|
|
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.getImageUrls = getImageUrls;
|
|
8
7
|
exports.getMipLevels = getMipLevels;
|
|
9
8
|
exports.loadImageTexture = loadImageTexture;
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
9
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
14
10
|
var _images = require("@loaders.gl/images");
|
|
15
11
|
var _generateUrl = require("./generate-url");
|
|
16
12
|
var _deepLoad = require("./deep-load");
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
return
|
|
13
|
+
async function loadImageTexture(getUrl) {
|
|
14
|
+
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
15
|
+
const imageUrls = await getImageUrls(getUrl, options);
|
|
16
|
+
return await (0, _deepLoad.deepLoad)(imageUrls, _images.ImageLoader.parse, options);
|
|
21
17
|
}
|
|
22
|
-
function
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
_args = arguments;
|
|
27
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
28
|
-
while (1) switch (_context.prev = _context.next) {
|
|
29
|
-
case 0:
|
|
30
|
-
options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
|
|
31
|
-
_context.next = 3;
|
|
32
|
-
return getImageUrls(getUrl, options);
|
|
33
|
-
case 3:
|
|
34
|
-
imageUrls = _context.sent;
|
|
35
|
-
_context.next = 6;
|
|
36
|
-
return (0, _deepLoad.deepLoad)(imageUrls, _images.ImageLoader.parse, options);
|
|
37
|
-
case 6:
|
|
38
|
-
return _context.abrupt("return", _context.sent);
|
|
39
|
-
case 7:
|
|
40
|
-
case "end":
|
|
41
|
-
return _context.stop();
|
|
42
|
-
}
|
|
43
|
-
}, _callee);
|
|
44
|
-
}));
|
|
45
|
-
return _loadImageTexture.apply(this, arguments);
|
|
18
|
+
async function getImageUrls(getUrl, options) {
|
|
19
|
+
let urlOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
20
|
+
const mipLevels = options && options.image && options.image.mipLevels || 0;
|
|
21
|
+
return mipLevels !== 0 ? await getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) : (0, _generateUrl.generateUrl)(getUrl, options, urlOptions);
|
|
46
22
|
}
|
|
47
|
-
function
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
case 10:
|
|
75
|
-
case "end":
|
|
76
|
-
return _context2.stop();
|
|
77
|
-
}
|
|
78
|
-
}, _callee2);
|
|
79
|
-
}));
|
|
80
|
-
return _getImageUrls.apply(this, arguments);
|
|
81
|
-
}
|
|
82
|
-
function getMipmappedImageUrls(_x4, _x5, _x6, _x7) {
|
|
83
|
-
return _getMipmappedImageUrls.apply(this, arguments);
|
|
84
|
-
}
|
|
85
|
-
function _getMipmappedImageUrls() {
|
|
86
|
-
_getMipmappedImageUrls = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(getUrl, mipLevels, options, urlOptions) {
|
|
87
|
-
var urls, url, image, _getImageSize, width, height, mipLevel, _url;
|
|
88
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
89
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
90
|
-
case 0:
|
|
91
|
-
urls = [];
|
|
92
|
-
if (!(mipLevels === 'auto')) {
|
|
93
|
-
_context3.next = 9;
|
|
94
|
-
break;
|
|
95
|
-
}
|
|
96
|
-
url = (0, _generateUrl.generateUrl)(getUrl, options, _objectSpread(_objectSpread({}, urlOptions), {}, {
|
|
97
|
-
lod: 0
|
|
98
|
-
}));
|
|
99
|
-
_context3.next = 5;
|
|
100
|
-
return (0, _deepLoad.shallowLoad)(url, _images.ImageLoader.parse, options);
|
|
101
|
-
case 5:
|
|
102
|
-
image = _context3.sent;
|
|
103
|
-
_getImageSize = (0, _images.getImageSize)(image), width = _getImageSize.width, height = _getImageSize.height;
|
|
104
|
-
mipLevels = getMipLevels({
|
|
105
|
-
width: width,
|
|
106
|
-
height: height
|
|
107
|
-
});
|
|
108
|
-
urls.push(url);
|
|
109
|
-
case 9:
|
|
110
|
-
(0, _loaderUtils.assert)(mipLevels > 0);
|
|
111
|
-
for (mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {
|
|
112
|
-
_url = (0, _generateUrl.generateUrl)(getUrl, options, _objectSpread(_objectSpread({}, urlOptions), {}, {
|
|
113
|
-
lod: mipLevel
|
|
114
|
-
}));
|
|
115
|
-
urls.push(_url);
|
|
116
|
-
}
|
|
117
|
-
return _context3.abrupt("return", urls);
|
|
118
|
-
case 12:
|
|
119
|
-
case "end":
|
|
120
|
-
return _context3.stop();
|
|
121
|
-
}
|
|
122
|
-
}, _callee3);
|
|
123
|
-
}));
|
|
124
|
-
return _getMipmappedImageUrls.apply(this, arguments);
|
|
23
|
+
async function getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) {
|
|
24
|
+
const urls = [];
|
|
25
|
+
if (mipLevels === 'auto') {
|
|
26
|
+
const url = (0, _generateUrl.generateUrl)(getUrl, options, {
|
|
27
|
+
...urlOptions,
|
|
28
|
+
lod: 0
|
|
29
|
+
});
|
|
30
|
+
const image = await (0, _deepLoad.shallowLoad)(url, _images.ImageLoader.parse, options);
|
|
31
|
+
const {
|
|
32
|
+
width,
|
|
33
|
+
height
|
|
34
|
+
} = (0, _images.getImageSize)(image);
|
|
35
|
+
mipLevels = getMipLevels({
|
|
36
|
+
width,
|
|
37
|
+
height
|
|
38
|
+
});
|
|
39
|
+
urls.push(url);
|
|
40
|
+
}
|
|
41
|
+
(0, _loaderUtils.assert)(mipLevels > 0);
|
|
42
|
+
for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {
|
|
43
|
+
const url = (0, _generateUrl.generateUrl)(getUrl, options, {
|
|
44
|
+
...urlOptions,
|
|
45
|
+
lod: mipLevel
|
|
46
|
+
});
|
|
47
|
+
urls.push(url);
|
|
48
|
+
}
|
|
49
|
+
return urls;
|
|
125
50
|
}
|
|
126
51
|
function getMipLevels(size) {
|
|
127
52
|
return 1 + Math.floor(Math.log2(Math.max(size.width, size.height)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-image.js","names":["_loaderUtils","require","_images","_generateUrl","_deepLoad","
|
|
1
|
+
{"version":3,"file":"load-image.js","names":["_loaderUtils","require","_images","_generateUrl","_deepLoad","loadImageTexture","getUrl","options","arguments","length","undefined","imageUrls","getImageUrls","deepLoad","ImageLoader","parse","urlOptions","mipLevels","image","getMipmappedImageUrls","generateUrl","urls","url","lod","shallowLoad","width","height","getImageSize","getMipLevels","push","assert","mipLevel","size","Math","floor","log2","max"],"sources":["../../../../src/lib/texture-api/load-image.ts"],"sourcesContent":["import {assert} from '@loaders.gl/loader-utils';\nimport {ImageLoader, getImageSize} from '@loaders.gl/images';\nimport type {GetUrl, UrlOptions} from './texture-api-types';\nimport {generateUrl} from './generate-url';\nimport {deepLoad, shallowLoad} from './deep-load';\n\nexport async function loadImageTexture(getUrl: string | GetUrl, options = {}): Promise<any> {\n const imageUrls = await getImageUrls(getUrl, options);\n return await deepLoad(imageUrls, ImageLoader.parse, options);\n}\n\nexport async function getImageUrls(\n getUrl: string | GetUrl,\n options: any,\n urlOptions: UrlOptions = {}\n): Promise<any> {\n const mipLevels = (options && options.image && options.image.mipLevels) || 0;\n return mipLevels !== 0\n ? await getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions)\n : generateUrl(getUrl, options, urlOptions);\n}\n\nasync function getMipmappedImageUrls(\n getUrl: string | GetUrl,\n mipLevels: number | 'auto',\n options: any,\n urlOptions: UrlOptions\n): Promise<string[]> {\n const urls: string[] = [];\n\n // If no mip levels supplied, we need to load the level 0 image and calculate based on size\n if (mipLevels === 'auto') {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: 0});\n const image = await shallowLoad(url, ImageLoader.parse, options);\n\n const {width, height} = getImageSize(image);\n mipLevels = getMipLevels({width, height});\n\n // TODO - push image and make `deepLoad` pass through non-url values, avoid loading twice?\n urls.push(url);\n }\n\n // We now know how many mipLevels we need, remaining image urls can now be constructed\n assert(mipLevels > 0);\n\n for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: mipLevel});\n urls.push(url);\n }\n\n return urls;\n}\n\n// Calculates number of mipmaps based on texture size (log2)\nexport function getMipLevels(size: {width: number; height: number}): number {\n return 1 + Math.floor(Math.log2(Math.max(size.width, size.height)));\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAEO,eAAeI,gBAAgBA,CAACC,MAAuB,EAA8B;EAAA,IAA5BC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC1E,MAAMG,SAAS,GAAG,MAAMC,YAAY,CAACN,MAAM,EAAEC,OAAO,CAAC;EACrD,OAAO,MAAM,IAAAM,kBAAQ,EAACF,SAAS,EAAEG,mBAAW,CAACC,KAAK,EAAER,OAAO,CAAC;AAC9D;AAEO,eAAeK,YAAYA,CAChCN,MAAuB,EACvBC,OAAY,EAEE;EAAA,IADdS,UAAsB,GAAAR,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAE3B,MAAMS,SAAS,GAAIV,OAAO,IAAIA,OAAO,CAACW,KAAK,IAAIX,OAAO,CAACW,KAAK,CAACD,SAAS,IAAK,CAAC;EAC5E,OAAOA,SAAS,KAAK,CAAC,GAClB,MAAME,qBAAqB,CAACb,MAAM,EAAEW,SAAS,EAAEV,OAAO,EAAES,UAAU,CAAC,GACnE,IAAAI,wBAAW,EAACd,MAAM,EAAEC,OAAO,EAAES,UAAU,CAAC;AAC9C;AAEA,eAAeG,qBAAqBA,CAClCb,MAAuB,EACvBW,SAA0B,EAC1BV,OAAY,EACZS,UAAsB,EACH;EACnB,MAAMK,IAAc,GAAG,EAAE;EAGzB,IAAIJ,SAAS,KAAK,MAAM,EAAE;IACxB,MAAMK,GAAG,GAAG,IAAAF,wBAAW,EAACd,MAAM,EAAEC,OAAO,EAAE;MAAC,GAAGS,UAAU;MAAEO,GAAG,EAAE;IAAC,CAAC,CAAC;IACjE,MAAML,KAAK,GAAG,MAAM,IAAAM,qBAAW,EAACF,GAAG,EAAER,mBAAW,CAACC,KAAK,EAAER,OAAO,CAAC;IAEhE,MAAM;MAACkB,KAAK;MAAEC;IAAM,CAAC,GAAG,IAAAC,oBAAY,EAACT,KAAK,CAAC;IAC3CD,SAAS,GAAGW,YAAY,CAAC;MAACH,KAAK;MAAEC;IAAM,CAAC,CAAC;IAGzCL,IAAI,CAACQ,IAAI,CAACP,GAAG,CAAC;EAChB;EAGA,IAAAQ,mBAAM,EAACb,SAAS,GAAG,CAAC,CAAC;EAErB,KAAK,IAAIc,QAAQ,GAAGV,IAAI,CAACZ,MAAM,EAAEsB,QAAQ,GAAGd,SAAS,EAAE,EAAEc,QAAQ,EAAE;IACjE,MAAMT,GAAG,GAAG,IAAAF,wBAAW,EAACd,MAAM,EAAEC,OAAO,EAAE;MAAC,GAAGS,UAAU;MAAEO,GAAG,EAAEQ;IAAQ,CAAC,CAAC;IACxEV,IAAI,CAACQ,IAAI,CAACP,GAAG,CAAC;EAChB;EAEA,OAAOD,IAAI;AACb;AAGO,SAASO,YAAYA,CAACI,IAAqC,EAAU;EAC1E,OAAO,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,IAAI,CAACF,IAAI,CAACG,GAAG,CAACJ,IAAI,CAACP,KAAK,EAAEO,IAAI,CAACN,MAAM,CAAC,CAAC,CAAC;AACrE"}
|
|
@@ -5,20 +5,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.extractMipmapImages = extractMipmapImages;
|
|
7
7
|
function extractMipmapImages(data, options) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
for (
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
const images = new Array(options.mipMapLevels);
|
|
9
|
+
let levelWidth = options.width;
|
|
10
|
+
let levelHeight = options.height;
|
|
11
|
+
let offset = 0;
|
|
12
|
+
for (let i = 0; i < options.mipMapLevels; ++i) {
|
|
13
|
+
const levelSize = getLevelSize(options, levelWidth, levelHeight, data, i);
|
|
14
|
+
const levelData = getLevelData(data, i, offset, levelSize);
|
|
15
15
|
images[i] = {
|
|
16
16
|
compressed: true,
|
|
17
17
|
format: options.internalFormat,
|
|
18
18
|
data: levelData,
|
|
19
19
|
width: levelWidth,
|
|
20
20
|
height: levelHeight,
|
|
21
|
-
levelSize
|
|
21
|
+
levelSize
|
|
22
22
|
};
|
|
23
23
|
levelWidth = Math.max(1, levelWidth >> 1);
|
|
24
24
|
levelHeight = Math.max(1, levelHeight >> 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-mipmap-images.js","names":["extractMipmapImages","data","options","images","Array","mipMapLevels","levelWidth","width","levelHeight","height","offset","i","levelSize","getLevelSize","levelData","getLevelData","compressed","format","internalFormat","Math","max","index","isArray","Uint8Array","buffer","byteOffset","sizeFunction"],"sources":["../../../../src/lib/utils/extract-mipmap-images.ts"],"sourcesContent":["import type {TextureLevel} from '@loaders.gl/schema';\n\nexport type CompressedTextureExtractOptions = {\n mipMapLevels: number;\n width: number;\n height: number;\n sizeFunction: Function;\n internalFormat: number;\n};\n\n/**\n * Extract mipmap images from compressed texture buffer\n * @param data - binary data of compressed texture or Array of level objects\n * @param options.mipMapLevels - number of mipmap level inside image\n * @param options.width - width of 0 - level\n * @param options.height - height of 0 - level\n * @param options.sizeFunction - format-related function to calculate level size in bytes\n * @param options.internalFormat - WebGL compatible format code\n * @returns Array of the texture levels\n */\nexport function extractMipmapImages(\n data: Uint8Array | object[],\n options: CompressedTextureExtractOptions\n): TextureLevel[] {\n const images = new Array(options.mipMapLevels);\n\n let levelWidth = options.width;\n let levelHeight = options.height;\n let offset = 0;\n\n for (let i = 0; i < options.mipMapLevels; ++i) {\n // @ts-expect-error\n const levelSize = getLevelSize(options, levelWidth, levelHeight, data, i);\n // @ts-expect-error\n const levelData = getLevelData(data, i, offset, levelSize);\n\n images[i] = {\n compressed: true,\n format: options.internalFormat,\n data: levelData,\n width: levelWidth,\n height: levelHeight,\n levelSize\n };\n\n levelWidth = Math.max(1, levelWidth >> 1);\n levelHeight = Math.max(1, levelHeight >> 1);\n\n offset += levelSize;\n }\n return images;\n}\n\nfunction getLevelData(\n data: Uint8Array,\n index: number,\n offset: number,\n levelSize: number\n): Uint8Array {\n if (!Array.isArray(data)) {\n return new Uint8Array(data.buffer, data.byteOffset + offset, levelSize);\n }\n\n return data[index].levelData;\n}\n\nfunction getLevelSize(\n options: CompressedTextureExtractOptions,\n levelWidth: number,\n levelHeight: number,\n data: Uint8Array[] | object[],\n index: number\n): number {\n if (!Array.isArray(data)) {\n return options.sizeFunction(levelWidth, levelHeight);\n }\n return options.sizeFunction(data[index]);\n}\n"],"mappings":";;;;;;AAoBO,SAASA,mBAAmBA,CACjCC,IAA2B,EAC3BC,OAAwC,EACxB;EAChB,
|
|
1
|
+
{"version":3,"file":"extract-mipmap-images.js","names":["extractMipmapImages","data","options","images","Array","mipMapLevels","levelWidth","width","levelHeight","height","offset","i","levelSize","getLevelSize","levelData","getLevelData","compressed","format","internalFormat","Math","max","index","isArray","Uint8Array","buffer","byteOffset","sizeFunction"],"sources":["../../../../src/lib/utils/extract-mipmap-images.ts"],"sourcesContent":["import type {TextureLevel} from '@loaders.gl/schema';\n\nexport type CompressedTextureExtractOptions = {\n mipMapLevels: number;\n width: number;\n height: number;\n sizeFunction: Function;\n internalFormat: number;\n};\n\n/**\n * Extract mipmap images from compressed texture buffer\n * @param data - binary data of compressed texture or Array of level objects\n * @param options.mipMapLevels - number of mipmap level inside image\n * @param options.width - width of 0 - level\n * @param options.height - height of 0 - level\n * @param options.sizeFunction - format-related function to calculate level size in bytes\n * @param options.internalFormat - WebGL compatible format code\n * @returns Array of the texture levels\n */\nexport function extractMipmapImages(\n data: Uint8Array | object[],\n options: CompressedTextureExtractOptions\n): TextureLevel[] {\n const images = new Array(options.mipMapLevels);\n\n let levelWidth = options.width;\n let levelHeight = options.height;\n let offset = 0;\n\n for (let i = 0; i < options.mipMapLevels; ++i) {\n // @ts-expect-error\n const levelSize = getLevelSize(options, levelWidth, levelHeight, data, i);\n // @ts-expect-error\n const levelData = getLevelData(data, i, offset, levelSize);\n\n images[i] = {\n compressed: true,\n format: options.internalFormat,\n data: levelData,\n width: levelWidth,\n height: levelHeight,\n levelSize\n };\n\n levelWidth = Math.max(1, levelWidth >> 1);\n levelHeight = Math.max(1, levelHeight >> 1);\n\n offset += levelSize;\n }\n return images;\n}\n\nfunction getLevelData(\n data: Uint8Array,\n index: number,\n offset: number,\n levelSize: number\n): Uint8Array {\n if (!Array.isArray(data)) {\n return new Uint8Array(data.buffer, data.byteOffset + offset, levelSize);\n }\n\n return data[index].levelData;\n}\n\nfunction getLevelSize(\n options: CompressedTextureExtractOptions,\n levelWidth: number,\n levelHeight: number,\n data: Uint8Array[] | object[],\n index: number\n): number {\n if (!Array.isArray(data)) {\n return options.sizeFunction(levelWidth, levelHeight);\n }\n return options.sizeFunction(data[index]);\n}\n"],"mappings":";;;;;;AAoBO,SAASA,mBAAmBA,CACjCC,IAA2B,EAC3BC,OAAwC,EACxB;EAChB,MAAMC,MAAM,GAAG,IAAIC,KAAK,CAACF,OAAO,CAACG,YAAY,CAAC;EAE9C,IAAIC,UAAU,GAAGJ,OAAO,CAACK,KAAK;EAC9B,IAAIC,WAAW,GAAGN,OAAO,CAACO,MAAM;EAChC,IAAIC,MAAM,GAAG,CAAC;EAEd,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,OAAO,CAACG,YAAY,EAAE,EAAEM,CAAC,EAAE;IAE7C,MAAMC,SAAS,GAAGC,YAAY,CAACX,OAAO,EAAEI,UAAU,EAAEE,WAAW,EAAEP,IAAI,EAAEU,CAAC,CAAC;IAEzE,MAAMG,SAAS,GAAGC,YAAY,CAACd,IAAI,EAAEU,CAAC,EAAED,MAAM,EAAEE,SAAS,CAAC;IAE1DT,MAAM,CAACQ,CAAC,CAAC,GAAG;MACVK,UAAU,EAAE,IAAI;MAChBC,MAAM,EAAEf,OAAO,CAACgB,cAAc;MAC9BjB,IAAI,EAAEa,SAAS;MACfP,KAAK,EAAED,UAAU;MACjBG,MAAM,EAAED,WAAW;MACnBI;IACF,CAAC;IAEDN,UAAU,GAAGa,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEd,UAAU,IAAI,CAAC,CAAC;IACzCE,WAAW,GAAGW,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEZ,WAAW,IAAI,CAAC,CAAC;IAE3CE,MAAM,IAAIE,SAAS;EACrB;EACA,OAAOT,MAAM;AACf;AAEA,SAASY,YAAYA,CACnBd,IAAgB,EAChBoB,KAAa,EACbX,MAAc,EACdE,SAAiB,EACL;EACZ,IAAI,CAACR,KAAK,CAACkB,OAAO,CAACrB,IAAI,CAAC,EAAE;IACxB,OAAO,IAAIsB,UAAU,CAACtB,IAAI,CAACuB,MAAM,EAAEvB,IAAI,CAACwB,UAAU,GAAGf,MAAM,EAAEE,SAAS,CAAC;EACzE;EAEA,OAAOX,IAAI,CAACoB,KAAK,CAAC,CAACP,SAAS;AAC9B;AAEA,SAASD,YAAYA,CACnBX,OAAwC,EACxCI,UAAkB,EAClBE,WAAmB,EACnBP,IAA6B,EAC7BoB,KAAa,EACL;EACR,IAAI,CAACjB,KAAK,CAACkB,OAAO,CAACrB,IAAI,CAAC,EAAE;IACxB,OAAOC,OAAO,CAACwB,YAAY,CAACpB,UAAU,EAAEE,WAAW,CAAC;EACtD;EACA,OAAON,OAAO,CAACwB,YAAY,CAACzB,IAAI,CAACoB,KAAK,CAAC,CAAC;AAC1C"}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.mapVkFormatToWebGL = mapVkFormatToWebGL;
|
|
7
7
|
var _glExtensions = require("../gl-extensions");
|
|
8
|
-
|
|
8
|
+
const VULKAN_TO_WEBGL_FORMAT_MAP = {
|
|
9
9
|
131: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
10
10
|
132: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,
|
|
11
11
|
133: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT1_EXT,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ktx-format-helper.js","names":["_glExtensions","require","VULKAN_TO_WEBGL_FORMAT_MAP","GL_EXTENSIONS_CONSTANTS","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_SRGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT","COMPRESSED_RED_RGTC1_EXT","COMPRESSED_SIGNED_RED_RGTC1_EXT","COMPRESSED_RED_GREEN_RGTC2_EXT","COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT","COMPRESSED_RGB8_ETC2","COMPRESSED_SRGB8_ETC2","COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_RGBA8_ETC2_EAC","COMPRESSED_SRGB8_ALPHA8_ETC2_EAC","COMPRESSED_R11_EAC","COMPRESSED_SIGNED_R11_EAC","COMPRESSED_RG11_EAC","COMPRESSED_SIGNED_RG11_EAC","COMPRESSED_RGBA_ASTC_4x4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR","COMPRESSED_RGBA_ASTC_5x4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR","COMPRESSED_RGBA_ASTC_5x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR","COMPRESSED_RGBA_ASTC_6x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR","COMPRESSED_RGBA_ASTC_6x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR","COMPRESSED_RGBA_ASTC_8x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR","COMPRESSED_RGBA_ASTC_8x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR","COMPRESSED_RGBA_ASTC_8x8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR","COMPRESSED_RGBA_ASTC_10x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR","COMPRESSED_RGBA_ASTC_10x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR","COMPRESSED_RGBA_ASTC_10x8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR","COMPRESSED_RGBA_ASTC_10x10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR","COMPRESSED_RGBA_ASTC_12x10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR","COMPRESSED_RGBA_ASTC_12x12_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR","COMPRESSED_RGBA_PVRTC_2BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","mapVkFormatToWebGL","vkFormat"],"sources":["../../../../src/lib/utils/ktx-format-helper.ts"],"sourcesContent":["import {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';\n\nconst VULKAN_TO_WEBGL_FORMAT_MAP: Record<number, number> = {\n 131: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,\n 132: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,\n 133: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT1_EXT,\n 134: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,\n 135: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,\n 136: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,\n 137: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,\n 138: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,\n 139: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_RGTC1_EXT,\n 140: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_RGTC1_EXT,\n 141: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_GREEN_RGTC2_EXT,\n 142: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,\n 147: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2,\n 148: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ETC2,\n 149: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,\n 150: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,\n 151: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC,\n 152: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,\n 153: GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC,\n 154: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,\n 155: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,\n 156: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,\n // @ts-ignore\n 157: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,\n // @ts-ignore\n 158: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,\n // @ts-ignore\n 159: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,\n // @ts-ignore\n 160: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,\n // @ts-ignore\n 161: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,\n // @ts-ignore\n 162: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,\n // @ts-ignore\n 163: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,\n // @ts-ignore\n 164: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,\n // @ts-ignore\n 165: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,\n // @ts-ignore\n 166: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,\n // @ts-ignore\n 167: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,\n // @ts-ignore\n 168: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,\n // @ts-ignore\n 169: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,\n // @ts-ignore\n 170: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,\n // @ts-ignore\n 171: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,\n // @ts-ignore\n 172: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,\n // @ts-ignore\n 173: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,\n // @ts-ignore\n 174: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,\n // @ts-ignore\n 175: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,\n // @ts-ignore\n 176: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,\n // @ts-ignore\n 177: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,\n // @ts-ignore\n 178: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,\n // @ts-ignore\n 179: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,\n // @ts-ignore\n 180: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,\n // @ts-ignore\n 181: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,\n // @ts-ignore\n 182: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,\n // @ts-ignore\n 183: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,\n // @ts-ignore\n 184: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,\n 1000054000: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,\n 1000054001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,\n // @ts-ignore\n 1000066000: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,\n // @ts-ignore\n 1000066001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,\n // @ts-ignore\n 1000066002: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,\n // @ts-ignore\n 1000066003: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,\n // @ts-ignore\n 1000066004: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,\n // @ts-ignore\n 1000066005: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,\n // @ts-ignore\n 1000066006: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,\n // @ts-ignore\n 1000066007: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,\n // @ts-ignore\n 1000066008: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,\n // @ts-ignore\n 1000066009: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,\n // @ts-ignore\n 1000066010: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,\n // @ts-ignore\n 1000066011: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,\n // @ts-ignore\n 1000066012: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,\n // @ts-ignore\n 1000066013: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR\n};\n\n/**\n * Returns WebGl format based on Vulkan format\n * Vulkan to WebGl format mapping provided here http://github.khronos.org/KTX-Specification/#formatMapping\n * Vulkan name to format number mapping provided here: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkFormat.html\n * @param vkFormat\n * @returns WebGL / OpenGL constant\n */\nexport function mapVkFormatToWebGL(vkFormat: number): number {\n return VULKAN_TO_WEBGL_FORMAT_MAP[vkFormat];\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ktx-format-helper.js","names":["_glExtensions","require","VULKAN_TO_WEBGL_FORMAT_MAP","GL_EXTENSIONS_CONSTANTS","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_SRGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT","COMPRESSED_RED_RGTC1_EXT","COMPRESSED_SIGNED_RED_RGTC1_EXT","COMPRESSED_RED_GREEN_RGTC2_EXT","COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT","COMPRESSED_RGB8_ETC2","COMPRESSED_SRGB8_ETC2","COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_RGBA8_ETC2_EAC","COMPRESSED_SRGB8_ALPHA8_ETC2_EAC","COMPRESSED_R11_EAC","COMPRESSED_SIGNED_R11_EAC","COMPRESSED_RG11_EAC","COMPRESSED_SIGNED_RG11_EAC","COMPRESSED_RGBA_ASTC_4x4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR","COMPRESSED_RGBA_ASTC_5x4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR","COMPRESSED_RGBA_ASTC_5x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR","COMPRESSED_RGBA_ASTC_6x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR","COMPRESSED_RGBA_ASTC_6x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR","COMPRESSED_RGBA_ASTC_8x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR","COMPRESSED_RGBA_ASTC_8x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR","COMPRESSED_RGBA_ASTC_8x8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR","COMPRESSED_RGBA_ASTC_10x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR","COMPRESSED_RGBA_ASTC_10x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR","COMPRESSED_RGBA_ASTC_10x8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR","COMPRESSED_RGBA_ASTC_10x10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR","COMPRESSED_RGBA_ASTC_12x10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR","COMPRESSED_RGBA_ASTC_12x12_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR","COMPRESSED_RGBA_PVRTC_2BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","mapVkFormatToWebGL","vkFormat"],"sources":["../../../../src/lib/utils/ktx-format-helper.ts"],"sourcesContent":["import {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';\n\nconst VULKAN_TO_WEBGL_FORMAT_MAP: Record<number, number> = {\n 131: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,\n 132: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,\n 133: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT1_EXT,\n 134: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,\n 135: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,\n 136: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,\n 137: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,\n 138: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,\n 139: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_RGTC1_EXT,\n 140: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_RGTC1_EXT,\n 141: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_GREEN_RGTC2_EXT,\n 142: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,\n 147: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2,\n 148: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ETC2,\n 149: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,\n 150: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,\n 151: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC,\n 152: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,\n 153: GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC,\n 154: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,\n 155: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,\n 156: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,\n // @ts-ignore\n 157: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,\n // @ts-ignore\n 158: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,\n // @ts-ignore\n 159: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,\n // @ts-ignore\n 160: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,\n // @ts-ignore\n 161: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,\n // @ts-ignore\n 162: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,\n // @ts-ignore\n 163: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,\n // @ts-ignore\n 164: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,\n // @ts-ignore\n 165: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,\n // @ts-ignore\n 166: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,\n // @ts-ignore\n 167: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,\n // @ts-ignore\n 168: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,\n // @ts-ignore\n 169: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,\n // @ts-ignore\n 170: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,\n // @ts-ignore\n 171: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,\n // @ts-ignore\n 172: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,\n // @ts-ignore\n 173: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,\n // @ts-ignore\n 174: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,\n // @ts-ignore\n 175: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,\n // @ts-ignore\n 176: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,\n // @ts-ignore\n 177: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,\n // @ts-ignore\n 178: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,\n // @ts-ignore\n 179: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,\n // @ts-ignore\n 180: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,\n // @ts-ignore\n 181: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,\n // @ts-ignore\n 182: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,\n // @ts-ignore\n 183: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,\n // @ts-ignore\n 184: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,\n 1000054000: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,\n 1000054001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,\n // @ts-ignore\n 1000066000: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,\n // @ts-ignore\n 1000066001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,\n // @ts-ignore\n 1000066002: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,\n // @ts-ignore\n 1000066003: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,\n // @ts-ignore\n 1000066004: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,\n // @ts-ignore\n 1000066005: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,\n // @ts-ignore\n 1000066006: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,\n // @ts-ignore\n 1000066007: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,\n // @ts-ignore\n 1000066008: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,\n // @ts-ignore\n 1000066009: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,\n // @ts-ignore\n 1000066010: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,\n // @ts-ignore\n 1000066011: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,\n // @ts-ignore\n 1000066012: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,\n // @ts-ignore\n 1000066013: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR\n};\n\n/**\n * Returns WebGl format based on Vulkan format\n * Vulkan to WebGl format mapping provided here http://github.khronos.org/KTX-Specification/#formatMapping\n * Vulkan name to format number mapping provided here: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkFormat.html\n * @param vkFormat\n * @returns WebGL / OpenGL constant\n */\nexport function mapVkFormatToWebGL(vkFormat: number): number {\n return VULKAN_TO_WEBGL_FORMAT_MAP[vkFormat];\n}\n"],"mappings":"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"}
|