@loaders.gl/textures 3.4.14 → 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 +3 -3
- package/dist/compressed-texture-worker.js +3 -3
- package/dist/crunch-worker.js +2 -2
- 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 +3 -3
- package/dist/npy-worker.js +1 -1
- package/package.json +7 -7
|
@@ -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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"}
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getSupportedGPUTextureFormats = getSupportedGPUTextureFormats;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
10
|
-
var BROWSER_PREFIXES = ['', 'WEBKIT_', 'MOZ_'];
|
|
11
|
-
var WEBGL_EXTENSIONS = {
|
|
7
|
+
const BROWSER_PREFIXES = ['', 'WEBKIT_', 'MOZ_'];
|
|
8
|
+
const WEBGL_EXTENSIONS = {
|
|
12
9
|
WEBGL_compressed_texture_s3tc: 'dxt',
|
|
13
10
|
WEBGL_compressed_texture_s3tc_srgb: 'dxt-srgb',
|
|
14
11
|
WEBGL_compressed_texture_etc1: 'etc1',
|
|
@@ -18,34 +15,25 @@ var WEBGL_EXTENSIONS = {
|
|
|
18
15
|
WEBGL_compressed_texture_astc: 'astc',
|
|
19
16
|
EXT_texture_compression_rgtc: 'rgtc'
|
|
20
17
|
};
|
|
21
|
-
|
|
18
|
+
let formats = null;
|
|
22
19
|
function getSupportedGPUTextureFormats(gl) {
|
|
23
20
|
if (!formats) {
|
|
24
21
|
gl = gl || getWebGLContext() || undefined;
|
|
25
22
|
formats = new Set();
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
for (var extension in WEBGL_EXTENSIONS) {
|
|
32
|
-
if (gl && gl.getExtension("".concat(prefix).concat(extension))) {
|
|
33
|
-
var gpuTextureFormat = WEBGL_EXTENSIONS[extension];
|
|
34
|
-
formats.add(gpuTextureFormat);
|
|
35
|
-
}
|
|
23
|
+
for (const prefix of BROWSER_PREFIXES) {
|
|
24
|
+
for (const extension in WEBGL_EXTENSIONS) {
|
|
25
|
+
if (gl && gl.getExtension("".concat(prefix).concat(extension))) {
|
|
26
|
+
const gpuTextureFormat = WEBGL_EXTENSIONS[extension];
|
|
27
|
+
formats.add(gpuTextureFormat);
|
|
36
28
|
}
|
|
37
29
|
}
|
|
38
|
-
} catch (err) {
|
|
39
|
-
_iterator.e(err);
|
|
40
|
-
} finally {
|
|
41
|
-
_iterator.f();
|
|
42
30
|
}
|
|
43
31
|
}
|
|
44
32
|
return formats;
|
|
45
33
|
}
|
|
46
34
|
function getWebGLContext() {
|
|
47
35
|
try {
|
|
48
|
-
|
|
36
|
+
const canvas = document.createElement('canvas');
|
|
49
37
|
return canvas.getContext('webgl');
|
|
50
38
|
} catch (error) {
|
|
51
39
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"texture-formats.js","names":["BROWSER_PREFIXES","WEBGL_EXTENSIONS","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_pvrtc","WEBGL_compressed_texture_atc","WEBGL_compressed_texture_astc","EXT_texture_compression_rgtc","formats","getSupportedGPUTextureFormats","gl","getWebGLContext","undefined","Set","
|
|
1
|
+
{"version":3,"file":"texture-formats.js","names":["BROWSER_PREFIXES","WEBGL_EXTENSIONS","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_pvrtc","WEBGL_compressed_texture_atc","WEBGL_compressed_texture_astc","EXT_texture_compression_rgtc","formats","getSupportedGPUTextureFormats","gl","getWebGLContext","undefined","Set","prefix","extension","getExtension","concat","gpuTextureFormat","add","canvas","document","createElement","getContext","error"],"sources":["../../../../src/lib/utils/texture-formats.ts"],"sourcesContent":["import type {GPUTextureFormat} from '@loaders.gl/schema';\n\nconst BROWSER_PREFIXES = ['', 'WEBKIT_', 'MOZ_'];\n\nconst WEBGL_EXTENSIONS: {[key: string]: GPUTextureFormat} = {\n /* eslint-disable camelcase */\n WEBGL_compressed_texture_s3tc: 'dxt',\n WEBGL_compressed_texture_s3tc_srgb: 'dxt-srgb',\n WEBGL_compressed_texture_etc1: 'etc1',\n WEBGL_compressed_texture_etc: 'etc2',\n WEBGL_compressed_texture_pvrtc: 'pvrtc',\n WEBGL_compressed_texture_atc: 'atc',\n WEBGL_compressed_texture_astc: 'astc',\n EXT_texture_compression_rgtc: 'rgtc'\n /* eslint-enable camelcase */\n};\n\nlet formats: Set<GPUTextureFormat> | null = null;\n\n/**\n * Returns a list of formats.\n * Creates a temporary WebGLRenderingContext if none is provided.\n *\n * @param gl - Optional context.\n */\nexport function getSupportedGPUTextureFormats(gl?: WebGLRenderingContext): Set<string> {\n if (!formats) {\n gl = gl || getWebGLContext() || undefined;\n\n formats = new Set<GPUTextureFormat>();\n\n for (const prefix of BROWSER_PREFIXES) {\n for (const extension in WEBGL_EXTENSIONS) {\n if (gl && gl.getExtension(`${prefix}${extension}`)) {\n const gpuTextureFormat = WEBGL_EXTENSIONS[extension];\n formats.add(gpuTextureFormat);\n }\n }\n }\n }\n\n return formats;\n}\n\n/**\n * @returns {WebGLRenderingContext?}\n */\nfunction getWebGLContext() {\n try {\n const canvas = document.createElement('canvas');\n return canvas.getContext('webgl');\n } catch (error) {\n return null;\n }\n}\n"],"mappings":";;;;;;AAEA,MAAMA,gBAAgB,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC;AAEhD,MAAMC,gBAAmD,GAAG;EAE1DC,6BAA6B,EAAE,KAAK;EACpCC,kCAAkC,EAAE,UAAU;EAC9CC,6BAA6B,EAAE,MAAM;EACrCC,4BAA4B,EAAE,MAAM;EACpCC,8BAA8B,EAAE,OAAO;EACvCC,4BAA4B,EAAE,KAAK;EACnCC,6BAA6B,EAAE,MAAM;EACrCC,4BAA4B,EAAE;AAEhC,CAAC;AAED,IAAIC,OAAqC,GAAG,IAAI;AAQzC,SAASC,6BAA6BA,CAACC,EAA0B,EAAe;EACrF,IAAI,CAACF,OAAO,EAAE;IACZE,EAAE,GAAGA,EAAE,IAAIC,eAAe,CAAC,CAAC,IAAIC,SAAS;IAEzCJ,OAAO,GAAG,IAAIK,GAAG,CAAmB,CAAC;IAErC,KAAK,MAAMC,MAAM,IAAIhB,gBAAgB,EAAE;MACrC,KAAK,MAAMiB,SAAS,IAAIhB,gBAAgB,EAAE;QACxC,IAAIW,EAAE,IAAIA,EAAE,CAACM,YAAY,IAAAC,MAAA,CAAIH,MAAM,EAAAG,MAAA,CAAGF,SAAS,CAAE,CAAC,EAAE;UAClD,MAAMG,gBAAgB,GAAGnB,gBAAgB,CAACgB,SAAS,CAAC;UACpDP,OAAO,CAACW,GAAG,CAACD,gBAAgB,CAAC;QAC/B;MACF;IACF;EACF;EAEA,OAAOV,OAAO;AAChB;AAKA,SAASG,eAAeA,CAAA,EAAG;EACzB,IAAI;IACF,MAAMS,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;IAC/C,OAAOF,MAAM,CAACG,UAAU,CAAC,OAAO,CAAC;EACnC,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAO,IAAI;EACb;AACF"}
|
|
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.VERSION = void 0;
|
|
7
|
-
|
|
7
|
+
const VERSION = typeof "3.4.15" !== 'undefined' ? "3.4.15" : 'latest';
|
|
8
8
|
exports.VERSION = VERSION;
|
|
9
9
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","names":["VERSION","exports"],"sources":["../../../../src/lib/utils/version.ts"],"sourcesContent":["// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n"],"mappings":";;;;;;AAGO,
|
|
1
|
+
{"version":3,"file":"version.js","names":["VERSION","exports"],"sources":["../../../../src/lib/utils/version.ts"],"sourcesContent":["// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n"],"mappings":";;;;;;AAGO,MAAMA,OAAO,GAAG,eAAkB,KAAK,WAAW,cAAiB,QAAQ;AAACC,OAAA,CAAAD,OAAA,GAAAA,OAAA"}
|
package/dist/es5/npy-loader.js
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
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._TypecheckNPYWorkerLoader = exports._TypecheckNPYLoader = exports.NPYWorkerLoader = exports.NPYLoader = void 0;
|
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
7
|
var _version = require("./lib/utils/version");
|
|
12
8
|
var _parseNpy = require("./lib/parsers/parse-npy");
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
var NPY_MAGIC_NUMBER = new Uint8Array([147, 78, 85, 77, 80, 89]);
|
|
16
|
-
var NPYWorkerLoader = {
|
|
9
|
+
const NPY_MAGIC_NUMBER = new Uint8Array([147, 78, 85, 77, 80, 89]);
|
|
10
|
+
const NPYWorkerLoader = {
|
|
17
11
|
name: 'NPY',
|
|
18
12
|
id: 'npy',
|
|
19
13
|
module: 'textures',
|
|
@@ -27,29 +21,14 @@ var NPYWorkerLoader = {
|
|
|
27
21
|
}
|
|
28
22
|
};
|
|
29
23
|
exports.NPYWorkerLoader = NPYWorkerLoader;
|
|
30
|
-
|
|
24
|
+
const NPYLoader = {
|
|
25
|
+
...NPYWorkerLoader,
|
|
31
26
|
parseSync: _parseNpy.parseNPY,
|
|
32
|
-
parse:
|
|
33
|
-
|
|
34
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
35
|
-
while (1) switch (_context.prev = _context.next) {
|
|
36
|
-
case 0:
|
|
37
|
-
return _context.abrupt("return", (0, _parseNpy.parseNPY)(arrayBuffer, options));
|
|
38
|
-
case 1:
|
|
39
|
-
case "end":
|
|
40
|
-
return _context.stop();
|
|
41
|
-
}
|
|
42
|
-
}, _callee);
|
|
43
|
-
}));
|
|
44
|
-
function parse(_x, _x2) {
|
|
45
|
-
return _parse.apply(this, arguments);
|
|
46
|
-
}
|
|
47
|
-
return parse;
|
|
48
|
-
}()
|
|
49
|
-
});
|
|
27
|
+
parse: async (arrayBuffer, options) => (0, _parseNpy.parseNPY)(arrayBuffer, options)
|
|
28
|
+
};
|
|
50
29
|
exports.NPYLoader = NPYLoader;
|
|
51
|
-
|
|
30
|
+
const _TypecheckNPYWorkerLoader = NPYWorkerLoader;
|
|
52
31
|
exports._TypecheckNPYWorkerLoader = _TypecheckNPYWorkerLoader;
|
|
53
|
-
|
|
32
|
+
const _TypecheckNPYLoader = NPYLoader;
|
|
54
33
|
exports._TypecheckNPYLoader = _TypecheckNPYLoader;
|
|
55
34
|
//# sourceMappingURL=npy-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npy-loader.js","names":["_version","require","_parseNpy","
|
|
1
|
+
{"version":3,"file":"npy-loader.js","names":["_version","require","_parseNpy","NPY_MAGIC_NUMBER","Uint8Array","NPYWorkerLoader","name","id","module","version","VERSION","worker","extensions","mimeTypes","tests","buffer","options","npy","exports","NPYLoader","parseSync","parseNPY","parse","arrayBuffer","_TypecheckNPYWorkerLoader","_TypecheckNPYLoader"],"sources":["../../src/npy-loader.ts"],"sourcesContent":["import type {Loader, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport {parseNPY} from './lib/parsers/parse-npy';\n\n// \\x93NUMPY\nconst NPY_MAGIC_NUMBER = new Uint8Array([147, 78, 85, 77, 80, 89]);\n\n/**\n * Worker loader for numpy \"tiles\"\n */\nexport const NPYWorkerLoader = {\n name: 'NPY',\n id: 'npy',\n module: 'textures',\n version: VERSION,\n worker: true,\n extensions: ['npy'],\n mimeTypes: [],\n tests: [NPY_MAGIC_NUMBER.buffer],\n options: {\n npy: {}\n }\n};\n\n/**\n * Loader for numpy \"tiles\"\n */\nexport const NPYLoader = {\n ...NPYWorkerLoader,\n parseSync: parseNPY,\n parse: async (arrayBuffer: ArrayBuffer, options?: LoaderOptions) => parseNPY(arrayBuffer, options)\n};\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckNPYWorkerLoader: Loader = NPYWorkerLoader;\nexport const _TypecheckNPYLoader: LoaderWithParser = NPYLoader;\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAGA,MAAME,gBAAgB,GAAG,IAAIC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAK3D,MAAMC,eAAe,GAAG;EAC7BC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAChBC,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,EAAE;EACbC,KAAK,EAAE,CAACX,gBAAgB,CAACY,MAAM,CAAC;EAChCC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC;AAACC,OAAA,CAAAb,eAAA,GAAAA,eAAA;AAKK,MAAMc,SAAS,GAAG;EACvB,GAAGd,eAAe;EAClBe,SAAS,EAAEC,kBAAQ;EACnBC,KAAK,EAAE,MAAAA,CAAOC,WAAwB,EAAEP,OAAuB,KAAK,IAAAK,kBAAQ,EAACE,WAAW,EAAEP,OAAO;AACnG,CAAC;AAACE,OAAA,CAAAC,SAAA,GAAAA,SAAA;AAGK,MAAMK,yBAAiC,GAAGnB,eAAe;AAACa,OAAA,CAAAM,yBAAA,GAAAA,yBAAA;AAC1D,MAAMC,mBAAqC,GAAGN,SAAS;AAACD,OAAA,CAAAO,mBAAA,GAAAA,mBAAA"}
|
|
@@ -1,19 +1,16 @@
|
|
|
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.CrunchLoaderWithParser = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
7
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
10
8
|
var _crunchLoader = require("../crunch-loader");
|
|
11
9
|
var _parseCrunch = require("../lib/parsers/parse-crunch");
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var CrunchLoaderWithParser = _objectSpread(_objectSpread({}, _crunchLoader.CrunchLoader), {}, {
|
|
10
|
+
const CrunchLoaderWithParser = {
|
|
11
|
+
..._crunchLoader.CrunchLoader,
|
|
15
12
|
parse: _parseCrunch.parseCrunch
|
|
16
|
-
}
|
|
13
|
+
};
|
|
17
14
|
exports.CrunchLoaderWithParser = CrunchLoaderWithParser;
|
|
18
15
|
(0, _loaderUtils.createLoaderWorker)(CrunchLoaderWithParser);
|
|
19
16
|
//# sourceMappingURL=crunch-worker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crunch-worker.js","names":["_loaderUtils","require","_crunchLoader","_parseCrunch","
|
|
1
|
+
{"version":3,"file":"crunch-worker.js","names":["_loaderUtils","require","_crunchLoader","_parseCrunch","CrunchLoaderWithParser","CrunchLoader","parse","parseCrunch","exports","createLoaderWorker"],"sources":["../../../src/workers/crunch-worker.ts"],"sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport {CrunchLoader} from '../crunch-loader';\nimport {parseCrunch} from '../lib/parsers/parse-crunch';\n\n/**\n * Loader for the Crunch compressed texture container format\n */\nexport const CrunchLoaderWithParser = {\n ...CrunchLoader,\n parse: parseCrunch\n};\n\ncreateLoaderWorker(CrunchLoaderWithParser);\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAKO,MAAMG,sBAAsB,GAAG;EACpC,GAAGC,0BAAY;EACfC,KAAK,EAAEC;AACT,CAAC;AAACC,OAAA,CAAAJ,sBAAA,GAAAA,sBAAA;AAEF,IAAAK,+BAAkB,EAACL,sBAAsB,CAAC"}
|
|
@@ -1,53 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
3
|
var _workerUtils = require("@loaders.gl/worker-utils");
|
|
7
4
|
var _ktx2BasisWriterNodejs = require("../ktx2-basis-writer-nodejs");
|
|
8
|
-
(
|
|
5
|
+
(() => {
|
|
9
6
|
if (!_workerUtils.WorkerBody.inWorkerThread()) {
|
|
10
7
|
return;
|
|
11
8
|
}
|
|
12
|
-
_workerUtils.WorkerBody.onmessage =
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
result: result
|
|
30
|
-
});
|
|
31
|
-
_context.next = 15;
|
|
32
|
-
break;
|
|
33
|
-
case 11:
|
|
34
|
-
_context.prev = 11;
|
|
35
|
-
_context.t1 = _context["catch"](3);
|
|
36
|
-
message = _context.t1 instanceof Error ? _context.t1.message : '';
|
|
37
|
-
_workerUtils.WorkerBody.postMessage('error', {
|
|
38
|
-
error: message
|
|
39
|
-
});
|
|
40
|
-
case 15:
|
|
41
|
-
return _context.abrupt("break", 16);
|
|
42
|
-
case 16:
|
|
43
|
-
case "end":
|
|
44
|
-
return _context.stop();
|
|
9
|
+
_workerUtils.WorkerBody.onmessage = async (type, payload) => {
|
|
10
|
+
switch (type) {
|
|
11
|
+
case 'process':
|
|
12
|
+
try {
|
|
13
|
+
const {
|
|
14
|
+
input,
|
|
15
|
+
options
|
|
16
|
+
} = payload;
|
|
17
|
+
const result = await _ktx2BasisWriterNodejs.KTX2BasisWriterNodeJS.encode(input, options);
|
|
18
|
+
_workerUtils.WorkerBody.postMessage('done', {
|
|
19
|
+
result
|
|
20
|
+
});
|
|
21
|
+
} catch (error) {
|
|
22
|
+
const message = error instanceof Error ? error.message : '';
|
|
23
|
+
_workerUtils.WorkerBody.postMessage('error', {
|
|
24
|
+
error: message
|
|
25
|
+
});
|
|
45
26
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
};
|
|
51
|
-
}();
|
|
27
|
+
break;
|
|
28
|
+
default:
|
|
29
|
+
}
|
|
30
|
+
};
|
|
52
31
|
})();
|
|
53
32
|
//# sourceMappingURL=ktx2-basis-writer-nodejs-worker.js.map
|