@loaders.gl/textures 4.4.0-alpha.16 → 4.4.0-alpha.17
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/README.md +44 -0
- package/dist/basis-loader.d.ts +17 -8
- package/dist/basis-loader.d.ts.map +1 -1
- package/dist/basis-loader.js.map +1 -1
- package/dist/basis-worker-node.js +317 -188
- package/dist/basis-worker.js +252 -123
- package/dist/compressed-texture-worker.js +1035 -326
- package/dist/crunch-worker.js +141 -82
- package/dist/dist.dev.js +1220 -334
- package/dist/dist.min.js +1 -2
- package/dist/index.cjs +657 -317
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +2 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/ktx2-basis-writer-worker-node.js +2 -2
- package/dist/ktx2-basis-writer-worker.js +2 -2
- package/dist/lib/gl-extensions.d.ts +164 -58
- package/dist/lib/gl-extensions.d.ts.map +1 -1
- package/dist/lib/gl-extensions.js +175 -66
- package/dist/lib/gl-extensions.js.map +1 -1
- package/dist/lib/parsers/parse-basis.d.ts +16 -1
- package/dist/lib/parsers/parse-basis.d.ts.map +1 -1
- package/dist/lib/parsers/parse-basis.js +216 -43
- package/dist/lib/parsers/parse-basis.js.map +1 -1
- package/dist/lib/parsers/parse-crunch.d.ts.map +1 -1
- package/dist/lib/parsers/parse-crunch.js +4 -4
- package/dist/lib/parsers/parse-crunch.js.map +1 -1
- package/dist/lib/parsers/parse-dds.d.ts.map +1 -1
- package/dist/lib/parsers/parse-dds.js +7 -7
- package/dist/lib/parsers/parse-dds.js.map +1 -1
- package/dist/lib/parsers/parse-ktx.d.ts.map +1 -1
- package/dist/lib/parsers/parse-ktx.js +7 -0
- package/dist/lib/parsers/parse-ktx.js.map +1 -1
- package/dist/lib/parsers/parse-pvr.d.ts.map +1 -1
- package/dist/lib/parsers/parse-pvr.js +28 -70
- package/dist/lib/parsers/parse-pvr.js.map +1 -1
- package/dist/lib/utils/detect-supported-texture-formats.d.ts +14 -0
- package/dist/lib/utils/detect-supported-texture-formats.d.ts.map +1 -0
- package/dist/lib/utils/detect-supported-texture-formats.js +197 -0
- package/dist/lib/utils/detect-supported-texture-formats.js.map +1 -0
- package/dist/lib/utils/extract-mipmap-images.d.ts +2 -2
- package/dist/lib/utils/extract-mipmap-images.d.ts.map +1 -1
- package/dist/lib/utils/extract-mipmap-images.js +12 -2
- package/dist/lib/utils/extract-mipmap-images.js.map +1 -1
- package/dist/lib/utils/ktx-format-helper.d.ts +2 -1
- package/dist/lib/utils/ktx-format-helper.d.ts.map +1 -1
- package/dist/lib/utils/ktx-format-helper.js +67 -109
- package/dist/lib/utils/ktx-format-helper.js.map +1 -1
- package/dist/lib/utils/texture-format-map.d.ts +3 -0
- package/dist/lib/utils/texture-format-map.d.ts.map +1 -0
- package/dist/lib/utils/texture-format-map.js +71 -0
- package/dist/lib/utils/texture-format-map.js.map +1 -0
- package/dist/lib/utils/version.js +1 -1
- package/dist/npy-worker.js +1 -1
- package/package.json +6 -6
- package/src/basis-loader.ts +21 -8
- package/src/index.ts +2 -4
- package/src/lib/gl-extensions.ts +186 -81
- package/src/lib/parsers/parse-basis.ts +274 -40
- package/src/lib/parsers/parse-crunch.ts +13 -6
- package/src/lib/parsers/parse-dds.ts +16 -9
- package/src/lib/parsers/parse-ktx.ts +12 -2
- package/src/lib/parsers/parse-pvr.ts +72 -72
- package/src/lib/utils/detect-supported-texture-formats.ts +210 -0
- package/src/lib/utils/extract-mipmap-images.ts +15 -4
- package/src/lib/utils/ktx-format-helper.ts +124 -111
- package/src/lib/utils/texture-format-map.ts +135 -0
- package/dist/lib/utils/texture-formats.d.ts +0 -8
- package/dist/lib/utils/texture-formats.d.ts.map +0 -1
- package/dist/lib/utils/texture-formats.js +0 -51
- package/dist/lib/utils/texture-formats.js.map +0 -1
- package/src/lib/utils/texture-formats.ts +0 -59
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import {
|
|
4
|
+
import { GL_COMPRESSED_R11_EAC, GL_COMPRESSED_RG11_EAC, GL_COMPRESSED_RGB8_ETC2, GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, GL_COMPRESSED_RGB_ETC1_WEBGL, GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG, GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG, GL_COMPRESSED_RGB_S3TC_DXT1_EXT, GL_COMPRESSED_RGBA8_ETC2_EAC, GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, GL_COMPRESSED_RGBA_ASTC_10x10_KHR, GL_COMPRESSED_RGBA_ASTC_10x5_KHR, GL_COMPRESSED_RGBA_ASTC_10x6_KHR, GL_COMPRESSED_RGBA_ASTC_10x8_KHR, GL_COMPRESSED_RGBA_ASTC_12x10_KHR, GL_COMPRESSED_RGBA_ASTC_12x12_KHR, GL_COMPRESSED_RGBA_ASTC_4x4_KHR, GL_COMPRESSED_RGBA_ASTC_5x4_KHR, GL_COMPRESSED_RGBA_ASTC_5x5_KHR, GL_COMPRESSED_RGBA_ASTC_6x5_KHR, GL_COMPRESSED_RGBA_ASTC_6x6_KHR, GL_COMPRESSED_RGBA_ASTC_8x5_KHR, GL_COMPRESSED_RGBA_ASTC_8x6_KHR, GL_COMPRESSED_RGBA_ASTC_8x8_KHR, GL_COMPRESSED_RGBA_S3TC_DXT3_EXT, GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR } from "../gl-extensions.js";
|
|
5
5
|
import { extractMipmapImages } from "../utils/extract-mipmap-images.js";
|
|
6
6
|
const PVR_CONSTANTS = {
|
|
7
7
|
MAGIC_NUMBER: 0x03525650,
|
|
@@ -17,75 +17,33 @@ const PVR_CONSTANTS = {
|
|
|
17
17
|
METADATA_SIZE_INDEX: 12
|
|
18
18
|
};
|
|
19
19
|
const PVR_PIXEL_FORMATS = {
|
|
20
|
-
0: [
|
|
21
|
-
1: [
|
|
22
|
-
2: [
|
|
23
|
-
3: [
|
|
24
|
-
6: [
|
|
25
|
-
7: [
|
|
26
|
-
9: [
|
|
27
|
-
11: [
|
|
28
|
-
22: [
|
|
29
|
-
23: [
|
|
30
|
-
24: [
|
|
31
|
-
25: [
|
|
32
|
-
26: [
|
|
33
|
-
27: [
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
],
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
],
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
],
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR
|
|
48
|
-
],
|
|
49
|
-
31: [
|
|
50
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X6_KHR,
|
|
51
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR
|
|
52
|
-
],
|
|
53
|
-
32: [
|
|
54
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X5_KHR,
|
|
55
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR
|
|
56
|
-
],
|
|
57
|
-
33: [
|
|
58
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X6_KHR,
|
|
59
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR
|
|
60
|
-
],
|
|
61
|
-
34: [
|
|
62
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X8_KHR,
|
|
63
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR
|
|
64
|
-
],
|
|
65
|
-
35: [
|
|
66
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X5_KHR,
|
|
67
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR
|
|
68
|
-
],
|
|
69
|
-
36: [
|
|
70
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X6_KHR,
|
|
71
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR
|
|
72
|
-
],
|
|
73
|
-
37: [
|
|
74
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X8_KHR,
|
|
75
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR
|
|
76
|
-
],
|
|
77
|
-
38: [
|
|
78
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X10_KHR,
|
|
79
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR
|
|
80
|
-
],
|
|
81
|
-
39: [
|
|
82
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X10_KHR,
|
|
83
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR
|
|
84
|
-
],
|
|
85
|
-
40: [
|
|
86
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X12_KHR,
|
|
87
|
-
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR
|
|
88
|
-
]
|
|
20
|
+
0: [GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG],
|
|
21
|
+
1: [GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],
|
|
22
|
+
2: [GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG],
|
|
23
|
+
3: [GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],
|
|
24
|
+
6: [GL_COMPRESSED_RGB_ETC1_WEBGL],
|
|
25
|
+
7: [GL_COMPRESSED_RGB_S3TC_DXT1_EXT],
|
|
26
|
+
9: [GL_COMPRESSED_RGBA_S3TC_DXT3_EXT],
|
|
27
|
+
11: [GL_COMPRESSED_RGBA_S3TC_DXT5_EXT],
|
|
28
|
+
22: [GL_COMPRESSED_RGB8_ETC2],
|
|
29
|
+
23: [GL_COMPRESSED_RGBA8_ETC2_EAC],
|
|
30
|
+
24: [GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],
|
|
31
|
+
25: [GL_COMPRESSED_R11_EAC],
|
|
32
|
+
26: [GL_COMPRESSED_RG11_EAC],
|
|
33
|
+
27: [GL_COMPRESSED_RGBA_ASTC_4x4_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR],
|
|
34
|
+
28: [GL_COMPRESSED_RGBA_ASTC_5x4_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR],
|
|
35
|
+
29: [GL_COMPRESSED_RGBA_ASTC_5x5_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR],
|
|
36
|
+
30: [GL_COMPRESSED_RGBA_ASTC_6x5_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR],
|
|
37
|
+
31: [GL_COMPRESSED_RGBA_ASTC_6x6_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR],
|
|
38
|
+
32: [GL_COMPRESSED_RGBA_ASTC_8x5_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR],
|
|
39
|
+
33: [GL_COMPRESSED_RGBA_ASTC_8x6_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR],
|
|
40
|
+
34: [GL_COMPRESSED_RGBA_ASTC_8x8_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR],
|
|
41
|
+
35: [GL_COMPRESSED_RGBA_ASTC_10x5_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR],
|
|
42
|
+
36: [GL_COMPRESSED_RGBA_ASTC_10x6_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR],
|
|
43
|
+
37: [GL_COMPRESSED_RGBA_ASTC_10x8_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR],
|
|
44
|
+
38: [GL_COMPRESSED_RGBA_ASTC_10x10_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR],
|
|
45
|
+
39: [GL_COMPRESSED_RGBA_ASTC_12x10_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR],
|
|
46
|
+
40: [GL_COMPRESSED_RGBA_ASTC_12x12_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR]
|
|
89
47
|
};
|
|
90
48
|
const PVR_SIZE_FUNCTIONS = {
|
|
91
49
|
0: pvrtc2bppSize,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-pvr.js","sourceRoot":"","sources":["../../../src/lib/parsers/parse-pvr.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAOpC,OAAO,
|
|
1
|
+
{"version":3,"file":"parse-pvr.js","sourceRoot":"","sources":["../../../src/lib/parsers/parse-pvr.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TextureFormat } from '@loaders.gl/schema';
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated Pass `basis.supportedTextureFormats` to Basis loaders instead of relying on global detection.
|
|
4
|
+
*/
|
|
5
|
+
export declare function detectSupportedTextureFormats(gl?: WebGLRenderingContext): Set<TextureFormat>;
|
|
6
|
+
/**
|
|
7
|
+
* Returns a list of formats.
|
|
8
|
+
* Creates a temporary WebGLRenderingContext if none is provided.
|
|
9
|
+
*
|
|
10
|
+
* @deprecated Pass `basis.supportedTextureFormats` to Basis loaders instead of relying on global detection.
|
|
11
|
+
* @param gl - Optional context.
|
|
12
|
+
*/
|
|
13
|
+
export declare function detectSupportedGPUTextureFormats(gl?: WebGLRenderingContext): Set<string>;
|
|
14
|
+
//# sourceMappingURL=detect-supported-texture-formats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect-supported-texture-formats.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/detect-supported-texture-formats.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAmJxE;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,EAAE,CAAC,EAAE,qBAAqB,GAAG,GAAG,CAAC,aAAa,CAAC,CAiB5F;AAGD;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAAC,EAAE,CAAC,EAAE,qBAAqB,GAAG,GAAG,CAAC,MAAM,CAAC,CAgBxF"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
const BROWSER_PREFIXES = ['', 'WEBKIT_', 'MOZ_'];
|
|
5
|
+
const WEBGL_TEXTURE_FORMATS = {
|
|
6
|
+
/* eslint-disable camelcase */
|
|
7
|
+
WEBGL_compressed_texture_s3tc: [
|
|
8
|
+
'bc1-rgb-unorm-webgl',
|
|
9
|
+
'bc1-rgba-unorm',
|
|
10
|
+
'bc2-rgba-unorm',
|
|
11
|
+
'bc3-rgba-unorm'
|
|
12
|
+
],
|
|
13
|
+
WEBGL_compressed_texture_s3tc_srgb: [
|
|
14
|
+
'bc1-rgb-unorm-srgb-webgl',
|
|
15
|
+
'bc1-rgba-unorm-srgb',
|
|
16
|
+
'bc2-rgba-unorm-srgb',
|
|
17
|
+
'bc3-rgba-unorm-srgb'
|
|
18
|
+
],
|
|
19
|
+
EXT_texture_compression_rgtc: ['bc4-r-unorm', 'bc4-r-snorm', 'bc5-rg-unorm', 'bc5-rg-snorm'],
|
|
20
|
+
EXT_texture_compression_bptc: [
|
|
21
|
+
'bc6h-rgb-ufloat',
|
|
22
|
+
'bc6h-rgb-float',
|
|
23
|
+
'bc7-rgba-unorm',
|
|
24
|
+
'bc7-rgba-unorm-srgb'
|
|
25
|
+
],
|
|
26
|
+
WEBGL_compressed_texture_etc1: ['etc1-rbg-unorm-webgl'],
|
|
27
|
+
WEBGL_compressed_texture_etc: [
|
|
28
|
+
'etc2-rgb8unorm',
|
|
29
|
+
'etc2-rgb8unorm-srgb',
|
|
30
|
+
'etc2-rgb8a1unorm',
|
|
31
|
+
'etc2-rgb8a1unorm-srgb',
|
|
32
|
+
'etc2-rgba8unorm',
|
|
33
|
+
'etc2-rgba8unorm-srgb',
|
|
34
|
+
'eac-r11unorm',
|
|
35
|
+
'eac-r11snorm',
|
|
36
|
+
'eac-rg11unorm',
|
|
37
|
+
'eac-rg11snorm'
|
|
38
|
+
],
|
|
39
|
+
WEBGL_compressed_texture_pvrtc: [
|
|
40
|
+
'pvrtc-rgb4unorm-webgl',
|
|
41
|
+
'pvrtc-rgba4unorm-webgl',
|
|
42
|
+
'pvrtc-rbg2unorm-webgl',
|
|
43
|
+
'pvrtc-rgba2unorm-webgl'
|
|
44
|
+
],
|
|
45
|
+
WEBGL_compressed_texture_atc: [
|
|
46
|
+
'atc-rgb-unorm-webgl',
|
|
47
|
+
'atc-rgba-unorm-webgl',
|
|
48
|
+
'atc-rgbai-unorm-webgl'
|
|
49
|
+
],
|
|
50
|
+
WEBGL_compressed_texture_astc: [
|
|
51
|
+
'astc-4x4-unorm',
|
|
52
|
+
'astc-4x4-unorm-srgb',
|
|
53
|
+
'astc-5x4-unorm',
|
|
54
|
+
'astc-5x4-unorm-srgb',
|
|
55
|
+
'astc-5x5-unorm',
|
|
56
|
+
'astc-5x5-unorm-srgb',
|
|
57
|
+
'astc-6x5-unorm',
|
|
58
|
+
'astc-6x5-unorm-srgb',
|
|
59
|
+
'astc-6x6-unorm',
|
|
60
|
+
'astc-6x6-unorm-srgb',
|
|
61
|
+
'astc-8x5-unorm',
|
|
62
|
+
'astc-8x5-unorm-srgb',
|
|
63
|
+
'astc-8x6-unorm',
|
|
64
|
+
'astc-8x6-unorm-srgb',
|
|
65
|
+
'astc-8x8-unorm',
|
|
66
|
+
'astc-8x8-unorm-srgb',
|
|
67
|
+
'astc-10x5-unorm',
|
|
68
|
+
'astc-10x5-unorm-srgb',
|
|
69
|
+
'astc-10x6-unorm',
|
|
70
|
+
'astc-10x6-unorm-srgb',
|
|
71
|
+
'astc-10x8-unorm',
|
|
72
|
+
'astc-10x8-unorm-srgb',
|
|
73
|
+
'astc-10x10-unorm',
|
|
74
|
+
'astc-10x10-unorm-srgb',
|
|
75
|
+
'astc-12x10-unorm',
|
|
76
|
+
'astc-12x10-unorm-srgb',
|
|
77
|
+
'astc-12x12-unorm',
|
|
78
|
+
'astc-12x12-unorm-srgb'
|
|
79
|
+
]
|
|
80
|
+
/* eslint-enable camelcase */
|
|
81
|
+
};
|
|
82
|
+
const GPU_TEXTURE_FORMATS = {
|
|
83
|
+
dxt: ['bc1-rgb-unorm-webgl', 'bc1-rgba-unorm', 'bc2-rgba-unorm', 'bc3-rgba-unorm'],
|
|
84
|
+
'dxt-srgb': [
|
|
85
|
+
'bc1-rgb-unorm-srgb-webgl',
|
|
86
|
+
'bc1-rgba-unorm-srgb',
|
|
87
|
+
'bc2-rgba-unorm-srgb',
|
|
88
|
+
'bc3-rgba-unorm-srgb'
|
|
89
|
+
],
|
|
90
|
+
etc1: ['etc1-rbg-unorm-webgl'],
|
|
91
|
+
etc2: [
|
|
92
|
+
'etc2-rgb8unorm',
|
|
93
|
+
'etc2-rgb8unorm-srgb',
|
|
94
|
+
'etc2-rgb8a1unorm',
|
|
95
|
+
'etc2-rgb8a1unorm-srgb',
|
|
96
|
+
'etc2-rgba8unorm',
|
|
97
|
+
'etc2-rgba8unorm-srgb',
|
|
98
|
+
'eac-r11unorm',
|
|
99
|
+
'eac-r11snorm',
|
|
100
|
+
'eac-rg11unorm',
|
|
101
|
+
'eac-rg11snorm'
|
|
102
|
+
],
|
|
103
|
+
pvrtc: [
|
|
104
|
+
'pvrtc-rgb4unorm-webgl',
|
|
105
|
+
'pvrtc-rgba4unorm-webgl',
|
|
106
|
+
'pvrtc-rbg2unorm-webgl',
|
|
107
|
+
'pvrtc-rgba2unorm-webgl'
|
|
108
|
+
],
|
|
109
|
+
atc: ['atc-rgb-unorm-webgl', 'atc-rgba-unorm-webgl', 'atc-rgbai-unorm-webgl'],
|
|
110
|
+
astc: [
|
|
111
|
+
'astc-4x4-unorm',
|
|
112
|
+
'astc-4x4-unorm-srgb',
|
|
113
|
+
'astc-5x4-unorm',
|
|
114
|
+
'astc-5x4-unorm-srgb',
|
|
115
|
+
'astc-5x5-unorm',
|
|
116
|
+
'astc-5x5-unorm-srgb',
|
|
117
|
+
'astc-6x5-unorm',
|
|
118
|
+
'astc-6x5-unorm-srgb',
|
|
119
|
+
'astc-6x6-unorm',
|
|
120
|
+
'astc-6x6-unorm-srgb',
|
|
121
|
+
'astc-8x5-unorm',
|
|
122
|
+
'astc-8x5-unorm-srgb',
|
|
123
|
+
'astc-8x6-unorm',
|
|
124
|
+
'astc-8x6-unorm-srgb',
|
|
125
|
+
'astc-8x8-unorm',
|
|
126
|
+
'astc-8x8-unorm-srgb',
|
|
127
|
+
'astc-10x5-unorm',
|
|
128
|
+
'astc-10x5-unorm-srgb',
|
|
129
|
+
'astc-10x6-unorm',
|
|
130
|
+
'astc-10x6-unorm-srgb',
|
|
131
|
+
'astc-10x8-unorm',
|
|
132
|
+
'astc-10x8-unorm-srgb',
|
|
133
|
+
'astc-10x10-unorm',
|
|
134
|
+
'astc-10x10-unorm-srgb',
|
|
135
|
+
'astc-12x10-unorm',
|
|
136
|
+
'astc-12x10-unorm-srgb',
|
|
137
|
+
'astc-12x12-unorm',
|
|
138
|
+
'astc-12x12-unorm-srgb'
|
|
139
|
+
],
|
|
140
|
+
rgtc: ['bc4-r-unorm', 'bc4-r-snorm', 'bc5-rg-unorm', 'bc5-rg-snorm']
|
|
141
|
+
};
|
|
142
|
+
let formats = null;
|
|
143
|
+
let textureFormats = null;
|
|
144
|
+
// DEPRECATED
|
|
145
|
+
/**
|
|
146
|
+
* @deprecated Pass `basis.supportedTextureFormats` to Basis loaders instead of relying on global detection.
|
|
147
|
+
*/
|
|
148
|
+
export function detectSupportedTextureFormats(gl) {
|
|
149
|
+
if (!textureFormats) {
|
|
150
|
+
gl = gl || getWebGLContext() || undefined;
|
|
151
|
+
textureFormats = new Set();
|
|
152
|
+
for (const prefix of BROWSER_PREFIXES) {
|
|
153
|
+
for (const extension in WEBGL_TEXTURE_FORMATS) {
|
|
154
|
+
if (gl && gl.getExtension(`${prefix}${extension}`)) {
|
|
155
|
+
for (const textureFormat of WEBGL_TEXTURE_FORMATS[extension]) {
|
|
156
|
+
textureFormats.add(textureFormat);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return textureFormats;
|
|
163
|
+
}
|
|
164
|
+
// DEPRECATED
|
|
165
|
+
/**
|
|
166
|
+
* Returns a list of formats.
|
|
167
|
+
* Creates a temporary WebGLRenderingContext if none is provided.
|
|
168
|
+
*
|
|
169
|
+
* @deprecated Pass `basis.supportedTextureFormats` to Basis loaders instead of relying on global detection.
|
|
170
|
+
* @param gl - Optional context.
|
|
171
|
+
*/
|
|
172
|
+
export function detectSupportedGPUTextureFormats(gl) {
|
|
173
|
+
if (!formats) {
|
|
174
|
+
formats = new Set();
|
|
175
|
+
const supportedTextureFormats = detectSupportedTextureFormats(gl);
|
|
176
|
+
for (const gpuTextureFormat in GPU_TEXTURE_FORMATS) {
|
|
177
|
+
const textureFormatsForGroup = GPU_TEXTURE_FORMATS[gpuTextureFormat];
|
|
178
|
+
if (textureFormatsForGroup.some((textureFormat) => supportedTextureFormats.has(textureFormat))) {
|
|
179
|
+
formats.add(gpuTextureFormat);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return formats;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* @returns {WebGLRenderingContext?}
|
|
187
|
+
*/
|
|
188
|
+
function getWebGLContext() {
|
|
189
|
+
try {
|
|
190
|
+
const canvas = document.createElement('canvas');
|
|
191
|
+
return canvas.getContext('webgl');
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=detect-supported-texture-formats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect-supported-texture-formats.js","sourceRoot":"","sources":["../../../src/lib/utils/detect-supported-texture-formats.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { TextureLevel } from '@loaders.gl/schema';
|
|
1
|
+
import type { GLTextureFormat, TextureLevel } from '@loaders.gl/schema';
|
|
2
2
|
export type CompressedTextureExtractOptions = {
|
|
3
3
|
mipMapLevels: number;
|
|
4
4
|
width: number;
|
|
5
5
|
height: number;
|
|
6
6
|
sizeFunction: Function;
|
|
7
|
-
internalFormat
|
|
7
|
+
internalFormat?: GLTextureFormat;
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
10
|
* Extract mipmap images from compressed texture buffer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-mipmap-images.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/extract-mipmap-images.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"extract-mipmap-images.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/extract-mipmap-images.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGtE,MAAM,MAAM,+BAA+B,GAAG;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,QAAQ,CAAC;IACvB,cAAc,CAAC,EAAE,eAAe,CAAC;CAClC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,EAC3B,OAAO,EAAE,+BAA+B,GACvC,YAAY,EAAE,CAsChB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { getTextureFormatFromWebGLFormat } from "./texture-format-map.js";
|
|
4
5
|
/**
|
|
5
6
|
* Extract mipmap images from compressed texture buffer
|
|
6
7
|
* @param data - binary data of compressed texture or Array of level objects
|
|
@@ -13,6 +14,8 @@
|
|
|
13
14
|
*/
|
|
14
15
|
export function extractMipmapImages(data, options) {
|
|
15
16
|
const images = new Array(options.mipMapLevels);
|
|
17
|
+
const format = options.internalFormat;
|
|
18
|
+
const textureFormat = format === undefined ? undefined : getTextureFormatFromWebGLFormat(format);
|
|
16
19
|
let levelWidth = options.width;
|
|
17
20
|
let levelHeight = options.height;
|
|
18
21
|
let offset = 0;
|
|
@@ -21,14 +24,21 @@ export function extractMipmapImages(data, options) {
|
|
|
21
24
|
const levelSize = getLevelSize(options, levelWidth, levelHeight, data, i);
|
|
22
25
|
// @ts-expect-error
|
|
23
26
|
const levelData = getLevelData(data, i, offset, levelSize);
|
|
24
|
-
|
|
27
|
+
const image = {
|
|
28
|
+
shape: 'texture-level',
|
|
25
29
|
compressed: true,
|
|
26
|
-
format: options.internalFormat,
|
|
27
30
|
data: levelData,
|
|
28
31
|
width: levelWidth,
|
|
29
32
|
height: levelHeight,
|
|
30
33
|
levelSize
|
|
31
34
|
};
|
|
35
|
+
if (format !== undefined) {
|
|
36
|
+
image.format = format;
|
|
37
|
+
}
|
|
38
|
+
if (textureFormat) {
|
|
39
|
+
image.textureFormat = textureFormat;
|
|
40
|
+
}
|
|
41
|
+
images[i] = image;
|
|
32
42
|
levelWidth = Math.max(1, levelWidth >> 1);
|
|
33
43
|
levelHeight = Math.max(1, levelHeight >> 1);
|
|
34
44
|
offset += levelSize;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-mipmap-images.js","sourceRoot":"","sources":["../../../src/lib/utils/extract-mipmap-images.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;
|
|
1
|
+
{"version":3,"file":"extract-mipmap-images.js","sourceRoot":"","sources":["../../../src/lib/utils/extract-mipmap-images.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,+BAA+B,EAAC,gCAA6B;AAUrE;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAA2B,EAC3B,OAAwC;IAExC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IACtC,MAAM,aAAa,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC;IAEjG,IAAI,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;IAC/B,IAAI,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IACjC,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC;QAC9C,mBAAmB;QACnB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1E,mBAAmB;QACnB,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAE3D,MAAM,KAAK,GAAiB;YAC1B,KAAK,EAAE,eAAe;YACtB,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,WAAW;YACnB,SAAS;SACV,CAAC;QAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACxB,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC;QAC1C,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;QAE5C,MAAM,IAAI,SAAS,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CACnB,IAAgB,EAChB,KAAa,EACb,MAAc,EACd,SAAiB;IAEjB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;AAC/B,CAAC;AAED,SAAS,YAAY,CACnB,OAAwC,EACxC,UAAkB,EAClB,WAAmB,EACnB,IAA6B,EAC7B,KAAa;IAEb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { GLTextureFormat } from '@loaders.gl/schema';
|
|
1
2
|
/**
|
|
2
3
|
* Returns WebGl format based on Vulkan format
|
|
3
4
|
* Vulkan to WebGl format mapping provided here http://github.khronos.org/KTX-Specification/#formatMapping
|
|
@@ -5,5 +6,5 @@
|
|
|
5
6
|
* @param vkFormat
|
|
6
7
|
* @returns WebGL / OpenGL constant
|
|
7
8
|
*/
|
|
8
|
-
export declare function mapVkFormatToWebGL(vkFormat: number):
|
|
9
|
+
export declare function mapVkFormatToWebGL(vkFormat: number): GLTextureFormat | undefined;
|
|
9
10
|
//# sourceMappingURL=ktx-format-helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ktx-format-helper.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/ktx-format-helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ktx-format-helper.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/ktx-format-helper.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AA6HxD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEhF"}
|