@loaders.gl/textures 4.2.0-alpha.4 → 4.2.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/basis-loader.js +27 -19
- package/dist/basis-worker-node.js +183 -127
- package/dist/basis-worker.js +5 -3
- package/dist/compressed-texture-loader.js +51 -31
- package/dist/compressed-texture-worker.js +5 -3
- package/dist/compressed-texture-writer.js +32 -19
- package/dist/crunch-loader.js +19 -13
- package/dist/crunch-worker.js +5 -3
- package/dist/dist.dev.js +326 -212
- package/dist/dist.min.js +10 -0
- package/dist/index.cjs +41 -60
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +16 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -13
- package/dist/ktx2-basis-writer-worker-node.js +183 -127
- package/dist/ktx2-basis-writer-worker.js +5 -3
- package/dist/ktx2-basis-writer.js +21 -15
- package/dist/lib/encoders/encode-ktx.js +6 -3
- package/dist/lib/encoders/encode-ktx2-basis-texture.js +38 -33
- package/dist/lib/encoders/encode-texture.d.ts +1 -1
- package/dist/lib/encoders/encode-texture.d.ts.map +1 -1
- package/dist/lib/encoders/encode-texture.js +23 -9
- package/dist/lib/gl-extensions.js +70 -59
- package/dist/lib/parsers/basis-module-loader.js +97 -61
- package/dist/lib/parsers/crunch-module-loader.js +29 -13
- package/dist/lib/parsers/parse-basis.js +217 -205
- package/dist/lib/parsers/parse-compressed-texture.js +20 -11
- package/dist/lib/parsers/parse-crunch.js +89 -59
- package/dist/lib/parsers/parse-dds.js +82 -53
- package/dist/lib/parsers/parse-ktx.js +37 -18
- package/dist/lib/parsers/parse-npy.js +70 -53
- package/dist/lib/parsers/parse-pvr.js +203 -112
- package/dist/lib/texture-api/async-deep-map.js +33 -28
- package/dist/lib/texture-api/deep-load.js +7 -5
- package/dist/lib/texture-api/generate-url.d.ts +1 -1
- package/dist/lib/texture-api/generate-url.d.ts.map +1 -1
- package/dist/lib/texture-api/generate-url.js +12 -10
- package/dist/lib/texture-api/load-image-array.d.ts +1 -1
- package/dist/lib/texture-api/load-image-array.d.ts.map +1 -1
- package/dist/lib/texture-api/load-image-array.js +13 -15
- package/dist/lib/texture-api/load-image-cube.d.ts +1 -1
- package/dist/lib/texture-api/load-image-cube.d.ts.map +1 -1
- package/dist/lib/texture-api/load-image-cube.js +32 -51
- package/dist/lib/texture-api/load-image.d.ts +1 -1
- package/dist/lib/texture-api/load-image.d.ts.map +1 -1
- package/dist/lib/texture-api/load-image.js +30 -36
- package/dist/lib/texture-api/texture-api-types.js +3 -1
- package/dist/lib/utils/extract-mipmap-images.js +43 -29
- package/dist/lib/utils/ktx-format-helper.js +119 -68
- package/dist/lib/utils/texture-formats.js +40 -26
- package/dist/lib/utils/version.js +7 -2
- package/dist/npy-loader.d.ts +1 -1
- package/dist/npy-loader.d.ts.map +1 -1
- package/dist/npy-loader.js +24 -15
- package/dist/npy-worker.js +4 -2
- package/dist/workers/basis-worker-node.js +4 -1
- package/dist/workers/basis-worker.js +3 -1
- package/dist/workers/compressed-texture-worker.js +4 -1
- package/dist/workers/crunch-worker.d.ts +1 -1
- package/dist/workers/crunch-worker.d.ts.map +1 -1
- package/dist/workers/crunch-worker.js +8 -3
- package/dist/workers/ktx2-basis-writer-worker-node.js +23 -26
- package/dist/workers/ktx2-basis-writer-worker.js +22 -26
- package/dist/workers/npy-worker.js +3 -1
- package/package.json +12 -10
- package/dist/basis-loader.js.map +0 -1
- package/dist/compressed-texture-loader.js.map +0 -1
- package/dist/compressed-texture-writer.js.map +0 -1
- package/dist/crunch-loader.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/ktx2-basis-writer.js.map +0 -1
- package/dist/lib/encoders/encode-ktx.js.map +0 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.js.map +0 -1
- package/dist/lib/encoders/encode-texture.js.map +0 -1
- package/dist/lib/gl-extensions.js.map +0 -1
- package/dist/lib/parsers/basis-module-loader.js.map +0 -1
- package/dist/lib/parsers/crunch-module-loader.js.map +0 -1
- package/dist/lib/parsers/parse-basis.js.map +0 -1
- package/dist/lib/parsers/parse-compressed-texture.js.map +0 -1
- package/dist/lib/parsers/parse-crunch.js.map +0 -1
- package/dist/lib/parsers/parse-dds.js.map +0 -1
- package/dist/lib/parsers/parse-ktx.js.map +0 -1
- package/dist/lib/parsers/parse-npy.js.map +0 -1
- package/dist/lib/parsers/parse-pvr.js.map +0 -1
- package/dist/lib/texture-api/async-deep-map.js.map +0 -1
- package/dist/lib/texture-api/deep-load.js.map +0 -1
- package/dist/lib/texture-api/generate-url.js.map +0 -1
- package/dist/lib/texture-api/load-image-array.js.map +0 -1
- package/dist/lib/texture-api/load-image-cube.js.map +0 -1
- package/dist/lib/texture-api/load-image.js.map +0 -1
- package/dist/lib/texture-api/texture-api-types.js.map +0 -1
- package/dist/lib/utils/extract-mipmap-images.js.map +0 -1
- package/dist/lib/utils/ktx-format-helper.js.map +0 -1
- package/dist/lib/utils/texture-formats.js.map +0 -1
- package/dist/lib/utils/version.js.map +0 -1
- package/dist/libs/libs/README.md +0 -9
- package/dist/libs/libs/basis_encoder.js +0 -21
- package/dist/libs/libs/basis_encoder.wasm +0 -0
- package/dist/libs/libs/basis_transcoder.js +0 -22
- package/dist/libs/libs/basis_transcoder.wasm +0 -0
- package/dist/libs/libs/crunch.js +0 -136
- package/dist/npy-loader.js.map +0 -1
- package/dist/workers/basis-worker-node.js.map +0 -1
- package/dist/workers/basis-worker.js.map +0 -1
- package/dist/workers/compressed-texture-worker.js.map +0 -1
- package/dist/workers/crunch-worker.js.map +0 -1
- package/dist/workers/ktx2-basis-writer-worker-node.js.map +0 -1
- package/dist/workers/ktx2-basis-writer-worker.js.map +0 -1
- package/dist/workers/npy-worker.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GetUrl, UrlOptions } from
|
|
1
|
+
import type { GetUrl, UrlOptions } from "./texture-api-types.js";
|
|
2
2
|
export declare function loadImageTexture(getUrl: string | GetUrl, options?: {}): Promise<any>;
|
|
3
3
|
export declare function getImageUrls(getUrl: string | GetUrl, options: any, urlOptions?: UrlOptions): Promise<any>;
|
|
4
4
|
export declare function getMipLevels(size: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-image.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/load-image.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,MAAM,EAAE,UAAU,EAAC
|
|
1
|
+
{"version":3,"file":"load-image.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/load-image.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,MAAM,EAAE,UAAU,EAAC,+BAA4B;AAI5D,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAG1F;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,OAAO,EAAE,GAAG,EACZ,UAAU,GAAE,UAAe,GAC1B,OAAO,CAAC,GAAG,CAAC,CAKd;AAkCD,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,GAAG,MAAM,CAE1E"}
|
|
@@ -1,46 +1,40 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { assert } from '@loaders.gl/loader-utils';
|
|
2
5
|
import { ImageLoader, getImageSize } from '@loaders.gl/images';
|
|
3
6
|
import { generateUrl } from "./generate-url.js";
|
|
4
7
|
import { deepLoad, shallowLoad } from "./deep-load.js";
|
|
5
|
-
export async function loadImageTexture(getUrl) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return await deepLoad(imageUrls, ImageLoader.parse, options);
|
|
8
|
+
export async function loadImageTexture(getUrl, options = {}) {
|
|
9
|
+
const imageUrls = await getImageUrls(getUrl, options);
|
|
10
|
+
return await deepLoad(imageUrls, ImageLoader.parse, options);
|
|
9
11
|
}
|
|
10
|
-
export async function getImageUrls(getUrl, options) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
export async function getImageUrls(getUrl, options, urlOptions = {}) {
|
|
13
|
+
const mipLevels = (options && options.image && options.image.mipLevels) || 0;
|
|
14
|
+
return mipLevels !== 0
|
|
15
|
+
? await getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions)
|
|
16
|
+
: generateUrl(getUrl, options, urlOptions);
|
|
14
17
|
}
|
|
15
18
|
async function getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
mipLevels
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
assert(mipLevels > 0);
|
|
34
|
-
for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {
|
|
35
|
-
const url = generateUrl(getUrl, options, {
|
|
36
|
-
...urlOptions,
|
|
37
|
-
lod: mipLevel
|
|
38
|
-
});
|
|
39
|
-
urls.push(url);
|
|
40
|
-
}
|
|
41
|
-
return urls;
|
|
19
|
+
const urls = [];
|
|
20
|
+
// If no mip levels supplied, we need to load the level 0 image and calculate based on size
|
|
21
|
+
if (mipLevels === 'auto') {
|
|
22
|
+
const url = generateUrl(getUrl, options, { ...urlOptions, lod: 0 });
|
|
23
|
+
const image = await shallowLoad(url, ImageLoader.parse, options);
|
|
24
|
+
const { width, height } = getImageSize(image);
|
|
25
|
+
mipLevels = getMipLevels({ width, height });
|
|
26
|
+
// TODO - push image and make `deepLoad` pass through non-url values, avoid loading twice?
|
|
27
|
+
urls.push(url);
|
|
28
|
+
}
|
|
29
|
+
// We now know how many mipLevels we need, remaining image urls can now be constructed
|
|
30
|
+
assert(mipLevels > 0);
|
|
31
|
+
for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {
|
|
32
|
+
const url = generateUrl(getUrl, options, { ...urlOptions, lod: mipLevel });
|
|
33
|
+
urls.push(url);
|
|
34
|
+
}
|
|
35
|
+
return urls;
|
|
42
36
|
}
|
|
37
|
+
// Calculates number of mipmaps based on texture size (log2)
|
|
43
38
|
export function getMipLevels(size) {
|
|
44
|
-
|
|
39
|
+
return 1 + Math.floor(Math.log2(Math.max(size.width, size.height)));
|
|
45
40
|
}
|
|
46
|
-
//# sourceMappingURL=load-image.js.map
|
|
@@ -1,35 +1,49 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
/**
|
|
5
|
+
* Extract mipmap images from compressed texture buffer
|
|
6
|
+
* @param data - binary data of compressed texture or Array of level objects
|
|
7
|
+
* @param options.mipMapLevels - number of mipmap level inside image
|
|
8
|
+
* @param options.width - width of 0 - level
|
|
9
|
+
* @param options.height - height of 0 - level
|
|
10
|
+
* @param options.sizeFunction - format-related function to calculate level size in bytes
|
|
11
|
+
* @param options.internalFormat - WebGL compatible format code
|
|
12
|
+
* @returns Array of the texture levels
|
|
13
|
+
*/
|
|
1
14
|
export function extractMipmapImages(data, options) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
const images = new Array(options.mipMapLevels);
|
|
16
|
+
let levelWidth = options.width;
|
|
17
|
+
let levelHeight = options.height;
|
|
18
|
+
let offset = 0;
|
|
19
|
+
for (let i = 0; i < options.mipMapLevels; ++i) {
|
|
20
|
+
// @ts-expect-error
|
|
21
|
+
const levelSize = getLevelSize(options, levelWidth, levelHeight, data, i);
|
|
22
|
+
// @ts-expect-error
|
|
23
|
+
const levelData = getLevelData(data, i, offset, levelSize);
|
|
24
|
+
images[i] = {
|
|
25
|
+
compressed: true,
|
|
26
|
+
format: options.internalFormat,
|
|
27
|
+
data: levelData,
|
|
28
|
+
width: levelWidth,
|
|
29
|
+
height: levelHeight,
|
|
30
|
+
levelSize
|
|
31
|
+
};
|
|
32
|
+
levelWidth = Math.max(1, levelWidth >> 1);
|
|
33
|
+
levelHeight = Math.max(1, levelHeight >> 1);
|
|
34
|
+
offset += levelSize;
|
|
35
|
+
}
|
|
36
|
+
return images;
|
|
22
37
|
}
|
|
23
38
|
function getLevelData(data, index, offset, levelSize) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
39
|
+
if (!Array.isArray(data)) {
|
|
40
|
+
return new Uint8Array(data.buffer, data.byteOffset + offset, levelSize);
|
|
41
|
+
}
|
|
42
|
+
return data[index].levelData;
|
|
28
43
|
}
|
|
29
44
|
function getLevelSize(options, levelWidth, levelHeight, data, index) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
45
|
+
if (!Array.isArray(data)) {
|
|
46
|
+
return options.sizeFunction(levelWidth, levelHeight);
|
|
47
|
+
}
|
|
48
|
+
return options.sizeFunction(data[index]);
|
|
34
49
|
}
|
|
35
|
-
//# sourceMappingURL=extract-mipmap-images.js.map
|
|
@@ -1,73 +1,124 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { GL_EXTENSIONS_CONSTANTS } from "../gl-extensions.js";
|
|
2
5
|
const VULKAN_TO_WEBGL_FORMAT_MAP = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
6
|
+
131: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
7
|
+
132: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,
|
|
8
|
+
133: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT1_EXT,
|
|
9
|
+
134: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
|
|
10
|
+
135: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
|
|
11
|
+
136: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
|
|
12
|
+
137: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
|
|
13
|
+
138: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
|
|
14
|
+
139: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_RGTC1_EXT,
|
|
15
|
+
140: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_RGTC1_EXT,
|
|
16
|
+
141: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_GREEN_RGTC2_EXT,
|
|
17
|
+
142: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
|
|
18
|
+
147: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2,
|
|
19
|
+
148: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ETC2,
|
|
20
|
+
149: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
|
|
21
|
+
150: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
|
|
22
|
+
151: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC,
|
|
23
|
+
152: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
|
|
24
|
+
153: GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC,
|
|
25
|
+
154: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,
|
|
26
|
+
155: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,
|
|
27
|
+
156: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,
|
|
28
|
+
// @ts-ignore
|
|
29
|
+
157: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
|
|
30
|
+
// @ts-ignore
|
|
31
|
+
158: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
|
|
32
|
+
// @ts-ignore
|
|
33
|
+
159: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
|
|
34
|
+
// @ts-ignore
|
|
35
|
+
160: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
|
|
36
|
+
// @ts-ignore
|
|
37
|
+
161: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
|
|
38
|
+
// @ts-ignore
|
|
39
|
+
162: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
|
|
40
|
+
// @ts-ignore
|
|
41
|
+
163: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
|
|
42
|
+
// @ts-ignore
|
|
43
|
+
164: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
165: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
|
|
46
|
+
// @ts-ignore
|
|
47
|
+
166: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
|
|
48
|
+
// @ts-ignore
|
|
49
|
+
167: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
|
|
50
|
+
// @ts-ignore
|
|
51
|
+
168: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
|
|
52
|
+
// @ts-ignore
|
|
53
|
+
169: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
|
|
54
|
+
// @ts-ignore
|
|
55
|
+
170: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
|
|
56
|
+
// @ts-ignore
|
|
57
|
+
171: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
|
|
58
|
+
// @ts-ignore
|
|
59
|
+
172: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
|
|
60
|
+
// @ts-ignore
|
|
61
|
+
173: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
|
|
62
|
+
// @ts-ignore
|
|
63
|
+
174: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
|
|
64
|
+
// @ts-ignore
|
|
65
|
+
175: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
|
|
66
|
+
// @ts-ignore
|
|
67
|
+
176: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
|
|
68
|
+
// @ts-ignore
|
|
69
|
+
177: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
|
|
70
|
+
// @ts-ignore
|
|
71
|
+
178: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
|
|
72
|
+
// @ts-ignore
|
|
73
|
+
179: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
|
|
74
|
+
// @ts-ignore
|
|
75
|
+
180: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
|
|
76
|
+
// @ts-ignore
|
|
77
|
+
181: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
|
|
78
|
+
// @ts-ignore
|
|
79
|
+
182: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
|
|
80
|
+
// @ts-ignore
|
|
81
|
+
183: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,
|
|
82
|
+
// @ts-ignore
|
|
83
|
+
184: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
|
|
84
|
+
1000054000: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
|
|
85
|
+
1000054001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
|
|
86
|
+
// @ts-ignore
|
|
87
|
+
1000066000: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
|
|
88
|
+
// @ts-ignore
|
|
89
|
+
1000066001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
|
|
90
|
+
// @ts-ignore
|
|
91
|
+
1000066002: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
|
|
92
|
+
// @ts-ignore
|
|
93
|
+
1000066003: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
|
|
94
|
+
// @ts-ignore
|
|
95
|
+
1000066004: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
|
|
96
|
+
// @ts-ignore
|
|
97
|
+
1000066005: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
|
|
98
|
+
// @ts-ignore
|
|
99
|
+
1000066006: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
|
|
100
|
+
// @ts-ignore
|
|
101
|
+
1000066007: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
|
|
102
|
+
// @ts-ignore
|
|
103
|
+
1000066008: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
|
|
104
|
+
// @ts-ignore
|
|
105
|
+
1000066009: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
|
|
106
|
+
// @ts-ignore
|
|
107
|
+
1000066010: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
|
|
108
|
+
// @ts-ignore
|
|
109
|
+
1000066011: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
|
|
110
|
+
// @ts-ignore
|
|
111
|
+
1000066012: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
|
|
112
|
+
// @ts-ignore
|
|
113
|
+
1000066013: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR
|
|
69
114
|
};
|
|
115
|
+
/**
|
|
116
|
+
* Returns WebGl format based on Vulkan format
|
|
117
|
+
* Vulkan to WebGl format mapping provided here http://github.khronos.org/KTX-Specification/#formatMapping
|
|
118
|
+
* Vulkan name to format number mapping provided here: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkFormat.html
|
|
119
|
+
* @param vkFormat
|
|
120
|
+
* @returns WebGL / OpenGL constant
|
|
121
|
+
*/
|
|
70
122
|
export function mapVkFormatToWebGL(vkFormat) {
|
|
71
|
-
|
|
123
|
+
return VULKAN_TO_WEBGL_FORMAT_MAP[vkFormat];
|
|
72
124
|
}
|
|
73
|
-
//# sourceMappingURL=ktx-format-helper.js.map
|
|
@@ -1,36 +1,50 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
const BROWSER_PREFIXES = ['', 'WEBKIT_', 'MOZ_'];
|
|
2
5
|
const WEBGL_EXTENSIONS = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
/* eslint-disable camelcase */
|
|
7
|
+
WEBGL_compressed_texture_s3tc: 'dxt',
|
|
8
|
+
WEBGL_compressed_texture_s3tc_srgb: 'dxt-srgb',
|
|
9
|
+
WEBGL_compressed_texture_etc1: 'etc1',
|
|
10
|
+
WEBGL_compressed_texture_etc: 'etc2',
|
|
11
|
+
WEBGL_compressed_texture_pvrtc: 'pvrtc',
|
|
12
|
+
WEBGL_compressed_texture_atc: 'atc',
|
|
13
|
+
WEBGL_compressed_texture_astc: 'astc',
|
|
14
|
+
EXT_texture_compression_rgtc: 'rgtc'
|
|
15
|
+
/* eslint-enable camelcase */
|
|
11
16
|
};
|
|
12
17
|
let formats = null;
|
|
18
|
+
/**
|
|
19
|
+
* Returns a list of formats.
|
|
20
|
+
* Creates a temporary WebGLRenderingContext if none is provided.
|
|
21
|
+
*
|
|
22
|
+
* @param gl - Optional context.
|
|
23
|
+
*/
|
|
13
24
|
export function getSupportedGPUTextureFormats(gl) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
25
|
+
if (!formats) {
|
|
26
|
+
gl = gl || getWebGLContext() || undefined;
|
|
27
|
+
formats = new Set();
|
|
28
|
+
for (const prefix of BROWSER_PREFIXES) {
|
|
29
|
+
for (const extension in WEBGL_EXTENSIONS) {
|
|
30
|
+
if (gl && gl.getExtension(`${prefix}${extension}`)) {
|
|
31
|
+
const gpuTextureFormat = WEBGL_EXTENSIONS[extension];
|
|
32
|
+
formats.add(gpuTextureFormat);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
22
35
|
}
|
|
23
|
-
}
|
|
24
36
|
}
|
|
25
|
-
|
|
26
|
-
return formats;
|
|
37
|
+
return formats;
|
|
27
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* @returns {WebGLRenderingContext?}
|
|
41
|
+
*/
|
|
28
42
|
function getWebGLContext() {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
43
|
+
try {
|
|
44
|
+
const canvas = document.createElement('canvas');
|
|
45
|
+
return canvas.getContext('webgl');
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
35
50
|
}
|
|
36
|
-
//# sourceMappingURL=texture-formats.js.map
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
// Version constant cannot be imported, it needs to correspond to the build version of **this** module.
|
|
5
|
+
// __VERSION__ is injected by babel-plugin-version-inline
|
|
6
|
+
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
7
|
+
export const VERSION = typeof "4.2.0-alpha.5" !== 'undefined' ? "4.2.0-alpha.5" : 'latest';
|
package/dist/npy-loader.d.ts
CHANGED
package/dist/npy-loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npy-loader.d.ts","sourceRoot":"","sources":["../src/npy-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAEtF,OAAO,EAAW,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"npy-loader.d.ts","sourceRoot":"","sources":["../src/npy-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAEtF,OAAO,EAAW,OAAO,EAAC,mCAAgC;AAK1D,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,CAAC,EAAE,EAAE,CAAC;CACV,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAYpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAIlE,CAAC"}
|
package/dist/npy-loader.js
CHANGED
|
@@ -1,22 +1,31 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { VERSION } from "./lib/utils/version.js";
|
|
2
5
|
import { parseNPY } from "./lib/parsers/parse-npy.js";
|
|
6
|
+
// \x93NUMPY
|
|
3
7
|
const NPY_MAGIC_NUMBER = new Uint8Array([147, 78, 85, 77, 80, 89]);
|
|
8
|
+
/**
|
|
9
|
+
* Worker loader for numpy "tiles"
|
|
10
|
+
*/
|
|
4
11
|
export const NPYWorkerLoader = {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
name: 'NPY',
|
|
13
|
+
id: 'npy',
|
|
14
|
+
module: 'textures',
|
|
15
|
+
version: VERSION,
|
|
16
|
+
worker: true,
|
|
17
|
+
extensions: ['npy'],
|
|
18
|
+
mimeTypes: [],
|
|
19
|
+
tests: [NPY_MAGIC_NUMBER.buffer],
|
|
20
|
+
options: {
|
|
21
|
+
npy: {}
|
|
22
|
+
}
|
|
16
23
|
};
|
|
24
|
+
/**
|
|
25
|
+
* Loader for numpy "tiles"
|
|
26
|
+
*/
|
|
17
27
|
export const NPYLoader = {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
28
|
+
...NPYWorkerLoader,
|
|
29
|
+
parseSync: parseNPY,
|
|
30
|
+
parse: async (arrayBuffer, options) => parseNPY(arrayBuffer, options)
|
|
21
31
|
};
|
|
22
|
-
//# sourceMappingURL=npy-loader.js.map
|
package/dist/npy-worker.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
(() => {
|
|
3
3
|
// src/lib/utils/version.ts
|
|
4
|
-
var VERSION = true ? "4.2.0-alpha.
|
|
4
|
+
var VERSION = true ? "4.2.0-alpha.5" : "latest";
|
|
5
5
|
|
|
6
6
|
// src/lib/parsers/parse-npy.ts
|
|
7
7
|
var a = new Uint32Array([305419896]);
|
|
@@ -142,7 +142,9 @@
|
|
|
142
142
|
}
|
|
143
143
|
getParentPort().then((parentPort2) => {
|
|
144
144
|
if (parentPort2) {
|
|
145
|
-
parentPort2.on("message",
|
|
145
|
+
parentPort2.on("message", (message) => {
|
|
146
|
+
handleMessage(message);
|
|
147
|
+
});
|
|
146
148
|
parentPort2.on("exit", () => console.debug("Node worker closing"));
|
|
147
149
|
} else {
|
|
148
150
|
globalThis.onmessage = handleMessage;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
// Polyfills increases the bundle size significantly. Use it for NodeJS worker only
|
|
1
5
|
import '@loaders.gl/polyfills';
|
|
2
6
|
import { createLoaderWorker } from '@loaders.gl/loader-utils';
|
|
3
7
|
import { BasisLoader } from "../basis-loader.js";
|
|
4
8
|
createLoaderWorker(BasisLoader);
|
|
5
|
-
//# sourceMappingURL=basis-worker-node.js.map
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { createLoaderWorker } from '@loaders.gl/loader-utils';
|
|
2
5
|
import { BasisLoader } from "../basis-loader.js";
|
|
3
6
|
createLoaderWorker(BasisLoader);
|
|
4
|
-
//# sourceMappingURL=basis-worker.js.map
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { createLoaderWorker } from '@loaders.gl/loader-utils';
|
|
2
5
|
import { CompressedTextureLoader } from "../compressed-texture-loader.js";
|
|
6
|
+
// @ts-expect-error
|
|
3
7
|
createLoaderWorker(CompressedTextureLoader);
|
|
4
|
-
//# sourceMappingURL=compressed-texture-worker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crunch-worker.d.ts","sourceRoot":"","sources":["../../src/workers/crunch-worker.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,WAAW,EAAC,
|
|
1
|
+
{"version":3,"file":"crunch-worker.d.ts","sourceRoot":"","sources":["../../src/workers/crunch-worker.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,WAAW,EAAC,uCAAoC;AAExD;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;CAGlC,CAAC"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { createLoaderWorker } from '@loaders.gl/loader-utils';
|
|
2
5
|
import { CrunchLoader } from "../crunch-loader.js";
|
|
3
6
|
import { parseCrunch } from "../lib/parsers/parse-crunch.js";
|
|
7
|
+
/**
|
|
8
|
+
* Loader for the Crunch compressed texture container format
|
|
9
|
+
*/
|
|
4
10
|
export const CrunchLoaderWithParser = {
|
|
5
|
-
|
|
6
|
-
|
|
11
|
+
...CrunchLoader,
|
|
12
|
+
parse: parseCrunch
|
|
7
13
|
};
|
|
8
14
|
createLoaderWorker(CrunchLoaderWithParser);
|
|
9
|
-
//# sourceMappingURL=crunch-worker.js.map
|