@loaders.gl/textures 3.1.0-beta.2 → 3.1.0
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-worker.js +33 -9
- package/dist/bundle.js +185 -119
- package/dist/compressed-texture-loader.d.ts +1 -15
- package/dist/compressed-texture-loader.d.ts.map +1 -1
- package/dist/compressed-texture-worker.js +174 -108
- package/dist/crunch-worker.js +11 -11
- package/dist/es5/basis-loader.js +13 -5
- 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 +59 -20
- 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 +19 -19
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/ktx2-basis-universal-texture-writer.js +2 -2
- package/dist/es5/ktx2-basis-universal-texture-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 +76 -32
- package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
- package/dist/es5/lib/encoders/encode-texture.js +41 -13
- package/dist/es5/lib/encoders/encode-texture.js.map +1 -1
- package/dist/es5/lib/{gl-constants.js → gl-extensions.js} +4 -4
- package/dist/es5/lib/gl-extensions.js.map +1 -0
- package/dist/es5/lib/parsers/basis-module-loader.js +195 -51
- package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -1
- package/dist/es5/lib/parsers/crunch-module-loader.js +71 -15
- package/dist/es5/lib/parsers/crunch-module-loader.js.map +1 -1
- package/dist/es5/lib/parsers/parse-basis.js +137 -85
- package/dist/es5/lib/parsers/parse-basis.js.map +1 -1
- package/dist/es5/lib/parsers/parse-crunch.js +80 -59
- package/dist/es5/lib/parsers/parse-crunch.js.map +1 -1
- package/dist/es5/lib/parsers/parse-dds.js +30 -30
- package/dist/es5/lib/parsers/parse-dds.js.map +1 -1
- package/dist/es5/lib/parsers/parse-ktx.js +16 -14
- package/dist/es5/lib/parsers/parse-ktx.js.map +1 -1
- package/dist/es5/lib/parsers/parse-npy.js +28 -25
- package/dist/es5/lib/parsers/parse-npy.js.map +1 -1
- package/dist/es5/lib/parsers/parse-pvr.js +49 -49
- package/dist/es5/lib/parsers/parse-pvr.js.map +1 -1
- package/dist/es5/lib/texture-api/async-deep-map.js +156 -27
- package/dist/es5/lib/texture-api/async-deep-map.js.map +1 -1
- package/dist/es5/lib/texture-api/deep-load.js +67 -6
- package/dist/es5/lib/texture-api/deep-load.js.map +1 -1
- package/dist/es5/lib/texture-api/generate-url.js +10 -4
- package/dist/es5/lib/texture-api/generate-url.js.map +1 -1
- package/dist/es5/lib/texture-api/load-image-array.js +76 -12
- package/dist/es5/lib/texture-api/load-image-array.js.map +1 -1
- package/dist/es5/lib/texture-api/load-image-cube.js +96 -27
- package/dist/es5/lib/texture-api/load-image-cube.js.map +1 -1
- package/dist/es5/lib/texture-api/load-image.js +142 -35
- package/dist/es5/lib/texture-api/load-image.js.map +1 -1
- package/dist/es5/lib/utils/extract-mipmap-images.js +9 -9
- package/dist/es5/lib/utils/extract-mipmap-images.js.map +1 -1
- package/dist/es5/lib/utils/ktx-format-helper.js +68 -68
- package/dist/es5/lib/utils/ktx-format-helper.js.map +1 -1
- package/dist/es5/lib/utils/texture-formats.js +27 -9
- 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 +42 -7
- package/dist/es5/npy-loader.js.map +1 -1
- package/dist/es5/workers/crunch-worker.js +11 -2
- package/dist/es5/workers/crunch-worker.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js +1 -1
- package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
- package/dist/esm/lib/{gl-constants.js → gl-extensions.js} +2 -2
- package/dist/esm/lib/gl-extensions.js.map +1 -0
- package/dist/esm/lib/parsers/basis-module-loader.js +1 -1
- package/dist/esm/lib/parsers/basis-module-loader.js.map +1 -1
- package/dist/esm/lib/parsers/parse-basis.js +7 -7
- package/dist/esm/lib/parsers/parse-basis.js.map +1 -1
- package/dist/esm/lib/parsers/parse-crunch.js +4 -4
- package/dist/esm/lib/parsers/parse-crunch.js.map +1 -1
- package/dist/esm/lib/parsers/parse-dds.js +7 -7
- package/dist/esm/lib/parsers/parse-dds.js.map +1 -1
- package/dist/esm/lib/parsers/parse-pvr.js +28 -28
- package/dist/esm/lib/parsers/parse-pvr.js.map +1 -1
- package/dist/esm/lib/utils/ktx-format-helper.js +67 -67
- package/dist/esm/lib/utils/ktx-format-helper.js.map +1 -1
- package/dist/esm/lib/utils/version.js +1 -1
- package/dist/esm/lib/utils/version.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts +1 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.js +1 -1
- package/dist/lib/{gl-constants.d.ts → gl-extensions.d.ts} +2 -2
- package/dist/lib/gl-extensions.d.ts.map +1 -0
- package/dist/lib/{gl-constants.js → gl-extensions.js} +2 -2
- package/dist/lib/parsers/parse-basis.d.ts +2 -16
- package/dist/lib/parsers/parse-basis.d.ts.map +1 -1
- package/dist/lib/parsers/parse-basis.js +31 -7
- package/dist/lib/parsers/parse-crunch.js +4 -4
- package/dist/lib/parsers/parse-dds.js +7 -7
- package/dist/lib/parsers/parse-pvr.d.ts.map +1 -1
- package/dist/lib/parsers/parse-pvr.js +70 -28
- package/dist/lib/utils/ktx-format-helper.js +67 -67
- package/package.json +5 -5
- package/src/index.ts +1 -1
- package/src/lib/encoders/encode-ktx2-basis-texture.ts +2 -2
- package/src/lib/{gl-constants.ts → gl-extensions.ts} +1 -1
- package/src/lib/parsers/{parse-basis.js → parse-basis.ts} +34 -10
- package/src/lib/parsers/parse-crunch.ts +4 -4
- package/src/lib/parsers/parse-dds.ts +7 -7
- package/src/lib/parsers/parse-pvr.ts +70 -28
- package/src/lib/utils/ktx-format-helper.ts +67 -67
- package/dist/es5/lib/gl-constants.js.map +0 -1
- package/dist/esm/lib/gl-constants.js.map +0 -1
- package/dist/lib/gl-constants.d.ts.map +0 -1
- package/src/lib/parsers/parse-ktx.js +0 -42
- package/src/lib/parsers/parse-npy.js +0 -82
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getDxtXLevelSize = exports.getDxt1LevelSize = exports.parseDDS = exports.isDDS = void 0;
|
|
4
4
|
const loader_utils_1 = require("@loaders.gl/loader-utils");
|
|
5
|
-
const
|
|
5
|
+
const gl_extensions_1 = require("../gl-extensions");
|
|
6
6
|
const extract_mipmap_images_1 = require("../utils/extract-mipmap-images");
|
|
7
7
|
const DDS_CONSTANTS = {
|
|
8
8
|
MAGIC_NUMBER: 0x20534444,
|
|
@@ -19,12 +19,12 @@ const DDS_CONSTANTS = {
|
|
|
19
19
|
DDPF_FOURCC: 0x4
|
|
20
20
|
};
|
|
21
21
|
const DDS_PIXEL_FORMATS = {
|
|
22
|
-
DXT1:
|
|
23
|
-
DXT3:
|
|
24
|
-
DXT5:
|
|
25
|
-
'ATC ':
|
|
26
|
-
ATCA:
|
|
27
|
-
ATCI:
|
|
22
|
+
DXT1: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
23
|
+
DXT3: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
|
|
24
|
+
DXT5: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
|
|
25
|
+
'ATC ': gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ATC_WEBGL,
|
|
26
|
+
ATCA: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,
|
|
27
|
+
ATCI: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL
|
|
28
28
|
};
|
|
29
29
|
const getATCLevelSize = getDxt1LevelSize;
|
|
30
30
|
const getATCALevelSize = getDxtXLevelSize;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-pvr.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-pvr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-pvr.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-pvr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AA2HzC;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAKhD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,EAAE,CA0B1D"}
|
|
@@ -4,7 +4,7 @@ exports.parsePVR = exports.isPVR = void 0;
|
|
|
4
4
|
/* eslint-disable camelcase */
|
|
5
5
|
// Forked from PicoGL: https://github.com/tsherif/picogl.js/blob/master/examples/utils/utils.js
|
|
6
6
|
// Copyright (c) 2017 Tarek Sherif, The MIT License (MIT)
|
|
7
|
-
const
|
|
7
|
+
const gl_extensions_1 = require("../gl-extensions");
|
|
8
8
|
const extract_mipmap_images_1 = require("../utils/extract-mipmap-images");
|
|
9
9
|
const PVR_CONSTANTS = {
|
|
10
10
|
MAGIC_NUMBER: 0x03525650,
|
|
@@ -20,33 +20,75 @@ const PVR_CONSTANTS = {
|
|
|
20
20
|
METADATA_SIZE_INDEX: 12
|
|
21
21
|
};
|
|
22
22
|
const PVR_PIXEL_FORMATS = {
|
|
23
|
-
0: [
|
|
24
|
-
1: [
|
|
25
|
-
2: [
|
|
26
|
-
3: [
|
|
27
|
-
6: [
|
|
28
|
-
7: [
|
|
29
|
-
9: [
|
|
30
|
-
11: [
|
|
31
|
-
22: [
|
|
32
|
-
23: [
|
|
33
|
-
24: [
|
|
34
|
-
25: [
|
|
35
|
-
26: [
|
|
36
|
-
27: [
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
23
|
+
0: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],
|
|
24
|
+
1: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],
|
|
25
|
+
2: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],
|
|
26
|
+
3: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],
|
|
27
|
+
6: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL],
|
|
28
|
+
7: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT],
|
|
29
|
+
9: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT],
|
|
30
|
+
11: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT],
|
|
31
|
+
22: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2],
|
|
32
|
+
23: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC],
|
|
33
|
+
24: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],
|
|
34
|
+
25: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC],
|
|
35
|
+
26: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC],
|
|
36
|
+
27: [
|
|
37
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR,
|
|
38
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR
|
|
39
|
+
],
|
|
40
|
+
28: [
|
|
41
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X4_KHR,
|
|
42
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR
|
|
43
|
+
],
|
|
44
|
+
29: [
|
|
45
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X5_KHR,
|
|
46
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR
|
|
47
|
+
],
|
|
48
|
+
30: [
|
|
49
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X5_KHR,
|
|
50
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR
|
|
51
|
+
],
|
|
52
|
+
31: [
|
|
53
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X6_KHR,
|
|
54
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR
|
|
55
|
+
],
|
|
56
|
+
32: [
|
|
57
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X5_KHR,
|
|
58
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR
|
|
59
|
+
],
|
|
60
|
+
33: [
|
|
61
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X6_KHR,
|
|
62
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR
|
|
63
|
+
],
|
|
64
|
+
34: [
|
|
65
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X8_KHR,
|
|
66
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR
|
|
67
|
+
],
|
|
68
|
+
35: [
|
|
69
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X5_KHR,
|
|
70
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR
|
|
71
|
+
],
|
|
72
|
+
36: [
|
|
73
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X6_KHR,
|
|
74
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR
|
|
75
|
+
],
|
|
76
|
+
37: [
|
|
77
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X8_KHR,
|
|
78
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR
|
|
79
|
+
],
|
|
80
|
+
38: [
|
|
81
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X10_KHR,
|
|
82
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR
|
|
83
|
+
],
|
|
84
|
+
39: [
|
|
85
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X10_KHR,
|
|
86
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR
|
|
87
|
+
],
|
|
88
|
+
40: [
|
|
89
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X12_KHR,
|
|
90
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR
|
|
91
|
+
]
|
|
50
92
|
};
|
|
51
93
|
const PVR_SIZE_FUNCTIONS = {
|
|
52
94
|
0: pvrtc2bppSize,
|
|
@@ -1,116 +1,116 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mapVkFormatToWebGL = void 0;
|
|
4
|
-
const
|
|
4
|
+
const gl_extensions_1 = require("../gl-extensions");
|
|
5
5
|
const VULKAN_TO_WEBGL_FORMAT_MAP = {
|
|
6
|
-
131:
|
|
7
|
-
132:
|
|
8
|
-
133:
|
|
9
|
-
134:
|
|
10
|
-
135:
|
|
11
|
-
136:
|
|
12
|
-
137:
|
|
13
|
-
138:
|
|
14
|
-
139:
|
|
15
|
-
140:
|
|
16
|
-
141:
|
|
17
|
-
142:
|
|
18
|
-
147:
|
|
19
|
-
148:
|
|
20
|
-
149:
|
|
21
|
-
150:
|
|
22
|
-
151:
|
|
23
|
-
152:
|
|
24
|
-
153:
|
|
25
|
-
154:
|
|
26
|
-
155:
|
|
27
|
-
156:
|
|
6
|
+
131: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
7
|
+
132: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,
|
|
8
|
+
133: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT1_EXT,
|
|
9
|
+
134: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
|
|
10
|
+
135: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
|
|
11
|
+
136: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
|
|
12
|
+
137: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
|
|
13
|
+
138: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
|
|
14
|
+
139: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_RGTC1_EXT,
|
|
15
|
+
140: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_RGTC1_EXT,
|
|
16
|
+
141: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_GREEN_RGTC2_EXT,
|
|
17
|
+
142: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
|
|
18
|
+
147: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2,
|
|
19
|
+
148: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ETC2,
|
|
20
|
+
149: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
|
|
21
|
+
150: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
|
|
22
|
+
151: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC,
|
|
23
|
+
152: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
|
|
24
|
+
153: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC,
|
|
25
|
+
154: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,
|
|
26
|
+
155: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,
|
|
27
|
+
156: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,
|
|
28
28
|
// @ts-ignore
|
|
29
|
-
157:
|
|
29
|
+
157: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
|
|
30
30
|
// @ts-ignore
|
|
31
|
-
158:
|
|
31
|
+
158: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
|
|
32
32
|
// @ts-ignore
|
|
33
|
-
159:
|
|
33
|
+
159: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
|
|
34
34
|
// @ts-ignore
|
|
35
|
-
160:
|
|
35
|
+
160: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
|
|
36
36
|
// @ts-ignore
|
|
37
|
-
161:
|
|
37
|
+
161: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
|
|
38
38
|
// @ts-ignore
|
|
39
|
-
162:
|
|
39
|
+
162: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
|
|
40
40
|
// @ts-ignore
|
|
41
|
-
163:
|
|
41
|
+
163: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
|
|
42
42
|
// @ts-ignore
|
|
43
|
-
164:
|
|
43
|
+
164: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
|
|
44
44
|
// @ts-ignore
|
|
45
|
-
165:
|
|
45
|
+
165: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
|
|
46
46
|
// @ts-ignore
|
|
47
|
-
166:
|
|
47
|
+
166: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
|
|
48
48
|
// @ts-ignore
|
|
49
|
-
167:
|
|
49
|
+
167: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
|
|
50
50
|
// @ts-ignore
|
|
51
|
-
168:
|
|
51
|
+
168: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
|
|
52
52
|
// @ts-ignore
|
|
53
|
-
169:
|
|
53
|
+
169: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
|
|
54
54
|
// @ts-ignore
|
|
55
|
-
170:
|
|
55
|
+
170: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
|
|
56
56
|
// @ts-ignore
|
|
57
|
-
171:
|
|
57
|
+
171: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
|
|
58
58
|
// @ts-ignore
|
|
59
|
-
172:
|
|
59
|
+
172: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
|
|
60
60
|
// @ts-ignore
|
|
61
|
-
173:
|
|
61
|
+
173: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
|
|
62
62
|
// @ts-ignore
|
|
63
|
-
174:
|
|
63
|
+
174: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
|
|
64
64
|
// @ts-ignore
|
|
65
|
-
175:
|
|
65
|
+
175: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
|
|
66
66
|
// @ts-ignore
|
|
67
|
-
176:
|
|
67
|
+
176: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
|
|
68
68
|
// @ts-ignore
|
|
69
|
-
177:
|
|
69
|
+
177: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
|
|
70
70
|
// @ts-ignore
|
|
71
|
-
178:
|
|
71
|
+
178: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
|
|
72
72
|
// @ts-ignore
|
|
73
|
-
179:
|
|
73
|
+
179: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
|
|
74
74
|
// @ts-ignore
|
|
75
|
-
180:
|
|
75
|
+
180: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
|
|
76
76
|
// @ts-ignore
|
|
77
|
-
181:
|
|
77
|
+
181: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
|
|
78
78
|
// @ts-ignore
|
|
79
|
-
182:
|
|
79
|
+
182: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
|
|
80
80
|
// @ts-ignore
|
|
81
|
-
183:
|
|
81
|
+
183: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,
|
|
82
82
|
// @ts-ignore
|
|
83
|
-
184:
|
|
84
|
-
1000054000:
|
|
85
|
-
1000054001:
|
|
83
|
+
184: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
|
|
84
|
+
1000054000: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
|
|
85
|
+
1000054001: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
|
|
86
86
|
// @ts-ignore
|
|
87
|
-
1000066000:
|
|
87
|
+
1000066000: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
|
|
88
88
|
// @ts-ignore
|
|
89
|
-
1000066001:
|
|
89
|
+
1000066001: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
|
|
90
90
|
// @ts-ignore
|
|
91
|
-
1000066002:
|
|
91
|
+
1000066002: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
|
|
92
92
|
// @ts-ignore
|
|
93
|
-
1000066003:
|
|
93
|
+
1000066003: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
|
|
94
94
|
// @ts-ignore
|
|
95
|
-
1000066004:
|
|
95
|
+
1000066004: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
|
|
96
96
|
// @ts-ignore
|
|
97
|
-
1000066005:
|
|
97
|
+
1000066005: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
|
|
98
98
|
// @ts-ignore
|
|
99
|
-
1000066006:
|
|
99
|
+
1000066006: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
|
|
100
100
|
// @ts-ignore
|
|
101
|
-
1000066007:
|
|
101
|
+
1000066007: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
|
|
102
102
|
// @ts-ignore
|
|
103
|
-
1000066008:
|
|
103
|
+
1000066008: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
|
|
104
104
|
// @ts-ignore
|
|
105
|
-
1000066009:
|
|
105
|
+
1000066009: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
|
|
106
106
|
// @ts-ignore
|
|
107
|
-
1000066010:
|
|
107
|
+
1000066010: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
|
|
108
108
|
// @ts-ignore
|
|
109
|
-
1000066011:
|
|
109
|
+
1000066011: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
|
|
110
110
|
// @ts-ignore
|
|
111
|
-
1000066012:
|
|
111
|
+
1000066012: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
|
|
112
112
|
// @ts-ignore
|
|
113
|
-
1000066013:
|
|
113
|
+
1000066013: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR
|
|
114
114
|
};
|
|
115
115
|
/**
|
|
116
116
|
* Returns WebGl format based on Vulkan format
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/textures",
|
|
3
|
-
"version": "3.1.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "Framework-independent loaders for compressed and super compressed (basis) textures ",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -42,11 +42,11 @@
|
|
|
42
42
|
"build-crunch-worker": "esbuild src/workers/crunch-worker.ts --bundle --outfile=dist/crunch-worker.js"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@loaders.gl/images": "3.1.0
|
|
46
|
-
"@loaders.gl/loader-utils": "3.1.0
|
|
47
|
-
"@loaders.gl/worker-utils": "3.1.0
|
|
45
|
+
"@loaders.gl/images": "3.1.0",
|
|
46
|
+
"@loaders.gl/loader-utils": "3.1.0",
|
|
47
|
+
"@loaders.gl/worker-utils": "3.1.0",
|
|
48
48
|
"ktx-parse": "^0.0.4",
|
|
49
49
|
"texture-compressor": "^1.0.2"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "b02a011b5a6d6aa6c5870819045c70db168cb930"
|
|
52
52
|
}
|
package/src/index.ts
CHANGED
|
@@ -18,7 +18,7 @@ export {loadImageTextureArray} from './lib/texture-api/load-image-array';
|
|
|
18
18
|
export {loadImageTextureCube} from './lib/texture-api/load-image-cube';
|
|
19
19
|
|
|
20
20
|
// Utilities
|
|
21
|
-
export {
|
|
21
|
+
export {GL_EXTENSIONS_CONSTANTS} from './lib/gl-extensions';
|
|
22
22
|
export {selectSupportedBasisFormat} from './lib/parsers/parse-basis';
|
|
23
23
|
export {getSupportedGPUTextureFormats} from './lib/utils/texture-formats';
|
|
24
24
|
|
|
@@ -11,7 +11,7 @@ import {loadBasisEncoderModule} from '../parsers/basis-module-loader';
|
|
|
11
11
|
export async function encodeKTX2BasisTexture(
|
|
12
12
|
image: ImageDataType,
|
|
13
13
|
options: any = {}
|
|
14
|
-
): Promise<
|
|
14
|
+
): Promise<ArrayBuffer> {
|
|
15
15
|
// TODO remove default values after writer options will be normalized like it done in load module.
|
|
16
16
|
const {useSRGB = false, qualityLevel = 10, encodeUASTC = false, mipmaps = false} = options;
|
|
17
17
|
const {BasisEncoder} = await loadBasisEncoderModule(options);
|
|
@@ -32,7 +32,7 @@ export async function encodeKTX2BasisTexture(
|
|
|
32
32
|
|
|
33
33
|
const numOutputBytes = basisEncoder.encode(basisFileData);
|
|
34
34
|
|
|
35
|
-
const actualKTX2FileData =
|
|
35
|
+
const actualKTX2FileData = basisFileData.subarray(0, numOutputBytes).buffer;
|
|
36
36
|
return actualKTX2FileData;
|
|
37
37
|
} catch (error) {
|
|
38
38
|
// eslint-disable-next-line no-console
|
|
@@ -1,20 +1,44 @@
|
|
|
1
1
|
import {loadBasisEncoderModule, loadBasisTrascoderModule} from './basis-module-loader';
|
|
2
|
-
import {
|
|
2
|
+
import {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';
|
|
3
3
|
import {getSupportedGPUTextureFormats} from '../utils/texture-formats';
|
|
4
4
|
import {isKTX} from './parse-ktx';
|
|
5
5
|
|
|
6
6
|
const OutputFormat = {
|
|
7
|
-
etc1: {
|
|
7
|
+
etc1: {
|
|
8
|
+
basisFormat: 0,
|
|
9
|
+
compressed: true,
|
|
10
|
+
format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL
|
|
11
|
+
},
|
|
8
12
|
etc2: {basisFormat: 1, compressed: true},
|
|
9
|
-
bc1: {
|
|
10
|
-
|
|
13
|
+
bc1: {
|
|
14
|
+
basisFormat: 2,
|
|
15
|
+
compressed: true,
|
|
16
|
+
format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT
|
|
17
|
+
},
|
|
18
|
+
bc3: {
|
|
19
|
+
basisFormat: 3,
|
|
20
|
+
compressed: true,
|
|
21
|
+
format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT
|
|
22
|
+
},
|
|
11
23
|
bc4: {basisFormat: 4, compressed: true},
|
|
12
24
|
bc5: {basisFormat: 5, compressed: true},
|
|
13
25
|
'bc7-m6-opaque-only': {basisFormat: 6, compressed: true},
|
|
14
26
|
'bc7-m5': {basisFormat: 7, compressed: true},
|
|
15
|
-
'pvrtc1-4-rgb': {
|
|
16
|
-
|
|
17
|
-
|
|
27
|
+
'pvrtc1-4-rgb': {
|
|
28
|
+
basisFormat: 8,
|
|
29
|
+
compressed: true,
|
|
30
|
+
format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
|
|
31
|
+
},
|
|
32
|
+
'pvrtc1-4-rgba': {
|
|
33
|
+
basisFormat: 9,
|
|
34
|
+
compressed: true,
|
|
35
|
+
format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
|
|
36
|
+
},
|
|
37
|
+
'astc-4x4': {
|
|
38
|
+
basisFormat: 10,
|
|
39
|
+
compressed: true,
|
|
40
|
+
format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR
|
|
41
|
+
},
|
|
18
42
|
'atc-rgb': {basisFormat: 11, compressed: true},
|
|
19
43
|
'atc-rgba-interpolated-alpha': {basisFormat: 12, compressed: true},
|
|
20
44
|
rgba32: {basisFormat: 13, compressed: false},
|
|
@@ -71,11 +95,11 @@ function parseBasisFile(BasisFile, data, options) {
|
|
|
71
95
|
}
|
|
72
96
|
|
|
73
97
|
const imageCount = basisFile.getNumImages();
|
|
74
|
-
const images = [];
|
|
98
|
+
const images: any[] = [];
|
|
75
99
|
|
|
76
100
|
for (let imageIndex = 0; imageIndex < imageCount; imageIndex++) {
|
|
77
101
|
const levelsCount = basisFile.getNumLevels(imageIndex);
|
|
78
|
-
const levels = [];
|
|
102
|
+
const levels: any[] = [];
|
|
79
103
|
|
|
80
104
|
for (let levelIndex = 0; levelIndex < levelsCount; levelIndex++) {
|
|
81
105
|
levels.push(transcodeImage(basisFile, imageIndex, levelIndex, options));
|
|
@@ -145,7 +169,7 @@ function parseKTX2File(KTX2File, data, options) {
|
|
|
145
169
|
return null;
|
|
146
170
|
}
|
|
147
171
|
const levelsCount = ktx2File.getLevels();
|
|
148
|
-
const levels = [];
|
|
172
|
+
const levels: any[] = [];
|
|
149
173
|
|
|
150
174
|
for (let levelIndex = 0; levelIndex < levelsCount; levelIndex++) {
|
|
151
175
|
levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type {TextureLevel} from '../../types';
|
|
2
2
|
import {loadCrunchModule} from './crunch-module-loader';
|
|
3
|
-
import {
|
|
3
|
+
import {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';
|
|
4
4
|
import {assert} from '@loaders.gl/loader-utils';
|
|
5
5
|
import {getDxt1LevelSize, getDxtXLevelSize} from './parse-dds';
|
|
6
6
|
import {extractMipmapImages} from '../utils/extract-mipmap-images';
|
|
@@ -20,15 +20,15 @@ const CRN_FORMAT = {
|
|
|
20
20
|
// Mapping of Crunch formats to DXT formats.
|
|
21
21
|
const DXT_FORMAT_MAP = {};
|
|
22
22
|
DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT1] = {
|
|
23
|
-
pixelFormat:
|
|
23
|
+
pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
24
24
|
sizeFunction: getDxt1LevelSize
|
|
25
25
|
};
|
|
26
26
|
DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT3] = {
|
|
27
|
-
pixelFormat:
|
|
27
|
+
pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
|
|
28
28
|
sizeFunction: getDxtXLevelSize
|
|
29
29
|
};
|
|
30
30
|
DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT5] = {
|
|
31
|
-
pixelFormat:
|
|
31
|
+
pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
|
|
32
32
|
sizeFunction: getDxtXLevelSize
|
|
33
33
|
};
|
|
34
34
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type {TextureLevel} from '../../types';
|
|
2
2
|
import {assert} from '@loaders.gl/loader-utils';
|
|
3
|
-
import {
|
|
3
|
+
import {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';
|
|
4
4
|
import {extractMipmapImages} from '../utils/extract-mipmap-images';
|
|
5
5
|
|
|
6
6
|
const DDS_CONSTANTS = {
|
|
@@ -19,12 +19,12 @@ const DDS_CONSTANTS = {
|
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
const DDS_PIXEL_FORMATS: Record<string, number> = {
|
|
22
|
-
DXT1:
|
|
23
|
-
DXT3:
|
|
24
|
-
DXT5:
|
|
25
|
-
'ATC ':
|
|
26
|
-
ATCA:
|
|
27
|
-
ATCI:
|
|
22
|
+
DXT1: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
23
|
+
DXT3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
|
|
24
|
+
DXT5: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
|
|
25
|
+
'ATC ': GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ATC_WEBGL,
|
|
26
|
+
ATCA: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,
|
|
27
|
+
ATCI: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
const getATCLevelSize = getDxt1LevelSize;
|
|
@@ -2,7 +2,7 @@ import {TextureLevel} from '../../types';
|
|
|
2
2
|
/* eslint-disable camelcase */
|
|
3
3
|
// Forked from PicoGL: https://github.com/tsherif/picogl.js/blob/master/examples/utils/utils.js
|
|
4
4
|
// Copyright (c) 2017 Tarek Sherif, The MIT License (MIT)
|
|
5
|
-
import {
|
|
5
|
+
import {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';
|
|
6
6
|
import {extractMipmapImages} from '../utils/extract-mipmap-images';
|
|
7
7
|
|
|
8
8
|
const PVR_CONSTANTS: Record<string, number> = {
|
|
@@ -20,33 +20,75 @@ const PVR_CONSTANTS: Record<string, number> = {
|
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
const PVR_PIXEL_FORMATS: Record<number, number[]> = {
|
|
23
|
-
0: [
|
|
24
|
-
1: [
|
|
25
|
-
2: [
|
|
26
|
-
3: [
|
|
27
|
-
6: [
|
|
28
|
-
7: [
|
|
29
|
-
9: [
|
|
30
|
-
11: [
|
|
31
|
-
22: [
|
|
32
|
-
23: [
|
|
33
|
-
24: [
|
|
34
|
-
25: [
|
|
35
|
-
26: [
|
|
36
|
-
27: [
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
23
|
+
0: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],
|
|
24
|
+
1: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],
|
|
25
|
+
2: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],
|
|
26
|
+
3: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],
|
|
27
|
+
6: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL],
|
|
28
|
+
7: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT],
|
|
29
|
+
9: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT],
|
|
30
|
+
11: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT],
|
|
31
|
+
22: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2],
|
|
32
|
+
23: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC],
|
|
33
|
+
24: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],
|
|
34
|
+
25: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC],
|
|
35
|
+
26: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC],
|
|
36
|
+
27: [
|
|
37
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR,
|
|
38
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR
|
|
39
|
+
],
|
|
40
|
+
28: [
|
|
41
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X4_KHR,
|
|
42
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR
|
|
43
|
+
],
|
|
44
|
+
29: [
|
|
45
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X5_KHR,
|
|
46
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR
|
|
47
|
+
],
|
|
48
|
+
30: [
|
|
49
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X5_KHR,
|
|
50
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR
|
|
51
|
+
],
|
|
52
|
+
31: [
|
|
53
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X6_KHR,
|
|
54
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR
|
|
55
|
+
],
|
|
56
|
+
32: [
|
|
57
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X5_KHR,
|
|
58
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR
|
|
59
|
+
],
|
|
60
|
+
33: [
|
|
61
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X6_KHR,
|
|
62
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR
|
|
63
|
+
],
|
|
64
|
+
34: [
|
|
65
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X8_KHR,
|
|
66
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR
|
|
67
|
+
],
|
|
68
|
+
35: [
|
|
69
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X5_KHR,
|
|
70
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR
|
|
71
|
+
],
|
|
72
|
+
36: [
|
|
73
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X6_KHR,
|
|
74
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR
|
|
75
|
+
],
|
|
76
|
+
37: [
|
|
77
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X8_KHR,
|
|
78
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR
|
|
79
|
+
],
|
|
80
|
+
38: [
|
|
81
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X10_KHR,
|
|
82
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR
|
|
83
|
+
],
|
|
84
|
+
39: [
|
|
85
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X10_KHR,
|
|
86
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR
|
|
87
|
+
],
|
|
88
|
+
40: [
|
|
89
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X12_KHR,
|
|
90
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR
|
|
91
|
+
]
|
|
50
92
|
};
|
|
51
93
|
|
|
52
94
|
const PVR_SIZE_FUNCTIONS: Record<number, (width: number, height: number) => number> = {
|