@loaders.gl/textures 4.0.0-alpha.4 → 4.0.0-alpha.5
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.d.ts +50 -0
- package/dist/basis-loader.d.ts.map +1 -0
- package/dist/basis-worker.js +116 -60
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/compressed-texture-loader.d.ts +49 -0
- package/dist/compressed-texture-loader.d.ts.map +1 -0
- package/dist/compressed-texture-loader.js +1 -1
- package/dist/compressed-texture-loader.js.map +1 -1
- package/dist/compressed-texture-worker.js +221 -123
- package/dist/compressed-texture-writer.d.ts +25 -0
- package/dist/compressed-texture-writer.d.ts.map +1 -0
- package/dist/crunch-loader.d.ts +21 -0
- package/dist/crunch-loader.d.ts.map +1 -0
- package/dist/crunch-worker.js +59 -26
- package/dist/dist.min.js +2123 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ktx2-basis-universal-texture-writer.d.ts +22 -0
- package/dist/ktx2-basis-universal-texture-writer.d.ts.map +1 -0
- package/dist/lib/encoders/encode-ktx.d.ts +2 -0
- package/dist/lib/encoders/encode-ktx.d.ts.map +1 -0
- package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts +10 -0
- package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -0
- package/dist/lib/encoders/encode-ktx2-basis-texture.js +1 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
- package/dist/lib/encoders/encode-texture.d.ts +4 -0
- package/dist/lib/encoders/encode-texture.d.ts.map +1 -0
- package/dist/lib/encoders/encode-texture.js +2 -5
- package/dist/lib/encoders/encode-texture.js.map +1 -1
- package/dist/lib/gl-extensions.d.ts +61 -0
- package/dist/lib/gl-extensions.d.ts.map +1 -0
- package/dist/lib/{gl-constants.js → gl-extensions.js} +2 -2
- package/dist/lib/gl-extensions.js.map +1 -0
- package/dist/lib/parsers/basis-module-loader.d.ts +13 -0
- package/dist/lib/parsers/basis-module-loader.d.ts.map +1 -0
- package/dist/lib/parsers/basis-module-loader.js +1 -1
- package/dist/lib/parsers/crunch-module-loader.d.ts +7 -0
- package/dist/lib/parsers/crunch-module-loader.d.ts.map +1 -0
- package/dist/lib/parsers/crunch-module-loader.js +1 -1
- package/dist/lib/parsers/crunch-module-loader.js.map +1 -1
- package/dist/lib/parsers/parse-basis.d.ts +18 -0
- package/dist/lib/parsers/parse-basis.d.ts.map +1 -0
- package/dist/lib/parsers/parse-basis.js +16 -16
- package/dist/lib/parsers/parse-basis.js.map +1 -1
- package/dist/lib/parsers/parse-compressed-texture.d.ts +8 -0
- package/dist/lib/parsers/parse-compressed-texture.d.ts.map +1 -0
- package/dist/lib/parsers/parse-compressed-texture.js.map +1 -1
- package/dist/lib/parsers/parse-crunch.d.ts +9 -0
- package/dist/lib/parsers/parse-crunch.d.ts.map +1 -0
- package/dist/lib/parsers/parse-crunch.js +14 -13
- package/dist/lib/parsers/parse-crunch.js.map +1 -1
- package/dist/lib/parsers/parse-dds.d.ts +28 -0
- package/dist/lib/parsers/parse-dds.d.ts.map +1 -0
- 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 +4 -0
- package/dist/lib/parsers/parse-ktx.d.ts.map +1 -0
- package/dist/lib/parsers/parse-ktx.js.map +1 -1
- package/dist/lib/parsers/parse-npy.d.ts +10 -0
- package/dist/lib/parsers/parse-npy.d.ts.map +1 -0
- package/dist/lib/parsers/parse-npy.js.map +1 -1
- package/dist/lib/parsers/parse-pvr.d.ts +15 -0
- package/dist/lib/parsers/parse-pvr.d.ts.map +1 -0
- package/dist/lib/parsers/parse-pvr.js +28 -28
- package/dist/lib/parsers/parse-pvr.js.map +1 -1
- package/dist/lib/texture-api/async-deep-map.d.ts +5 -0
- package/dist/lib/texture-api/async-deep-map.d.ts.map +1 -0
- package/dist/lib/texture-api/deep-load.d.ts +5 -0
- package/dist/lib/texture-api/deep-load.d.ts.map +1 -0
- package/dist/lib/texture-api/generate-url.d.ts +3 -0
- package/dist/lib/texture-api/generate-url.d.ts.map +1 -0
- package/dist/lib/texture-api/load-image-array.d.ts +4 -0
- package/dist/lib/texture-api/load-image-array.d.ts.map +1 -0
- package/dist/lib/texture-api/load-image-cube.d.ts +12 -0
- package/dist/lib/texture-api/load-image-cube.d.ts.map +1 -0
- package/dist/lib/texture-api/load-image.d.ts +8 -0
- package/dist/lib/texture-api/load-image.d.ts.map +1 -0
- package/dist/lib/texture-api/texture-api-types.d.ts +10 -0
- package/dist/lib/texture-api/texture-api-types.d.ts.map +1 -0
- package/dist/lib/utils/extract-mipmap-images.d.ts +20 -0
- package/dist/lib/utils/extract-mipmap-images.d.ts.map +1 -0
- package/dist/lib/utils/extract-mipmap-images.js.map +1 -1
- package/dist/lib/utils/ktx-format-helper.d.ts +9 -0
- package/dist/lib/utils/ktx-format-helper.d.ts.map +1 -0
- package/dist/lib/utils/ktx-format-helper.js +67 -67
- package/dist/lib/utils/ktx-format-helper.js.map +1 -1
- package/dist/lib/utils/texture-formats.d.ts +8 -0
- package/dist/lib/utils/texture-formats.d.ts.map +1 -0
- package/dist/lib/utils/texture-formats.js.map +1 -1
- package/dist/lib/utils/version.d.ts +2 -0
- package/dist/lib/utils/version.d.ts.map +1 -0
- package/dist/lib/utils/version.js +1 -1
- package/dist/libs/README.md +2 -2
- package/dist/libs/basis_encoder.js +1 -1
- package/dist/libs/basis_transcoder.js +1 -1
- package/dist/libs/crunch.js +1 -0
- package/dist/libs/libs/README.md +9 -0
- package/dist/libs/libs/basis_encoder.js +22 -0
- package/dist/libs/libs/basis_encoder.wasm +0 -0
- package/dist/libs/libs/basis_transcoder.js +21 -0
- package/dist/libs/libs/basis_transcoder.wasm +0 -0
- package/dist/libs/libs/crunch.js +136 -0
- package/dist/npy-loader.d.ts +45 -0
- package/dist/npy-loader.d.ts.map +1 -0
- package/dist/npy-worker.js +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1 -1
- package/dist/workers/basis-worker.d.ts +2 -0
- package/dist/workers/basis-worker.d.ts.map +1 -0
- package/dist/workers/compressed-texture-worker.d.ts +2 -0
- package/dist/workers/compressed-texture-worker.d.ts.map +1 -0
- package/dist/workers/crunch-worker.d.ts +21 -0
- package/dist/workers/crunch-worker.d.ts.map +1 -0
- package/dist/workers/npy-worker.d.ts +2 -0
- package/dist/workers/npy-worker.d.ts.map +1 -0
- package/package.json +12 -11
- package/src/compressed-texture-loader.ts +1 -1
- package/src/index.ts +2 -2
- package/src/lib/encoders/encode-ktx2-basis-texture.ts +2 -2
- package/src/lib/encoders/encode-texture.ts +6 -6
- package/src/lib/{gl-constants.ts → gl-extensions.ts} +1 -1
- package/src/lib/parsers/crunch-module-loader.ts +1 -1
- package/src/lib/parsers/{parse-basis.js → parse-basis.ts} +100 -44
- package/src/lib/parsers/parse-compressed-texture.ts +1 -1
- package/src/lib/parsers/parse-crunch.ts +16 -15
- package/src/lib/parsers/parse-dds.ts +8 -8
- package/src/lib/parsers/parse-ktx.ts +2 -1
- package/src/lib/parsers/parse-npy.ts +2 -0
- package/src/lib/parsers/parse-pvr.ts +72 -29
- package/src/lib/utils/extract-mipmap-images.ts +9 -1
- package/src/lib/utils/ktx-format-helper.ts +67 -67
- package/src/lib/utils/texture-formats.ts +1 -1
- package/src/libs/README.md +2 -2
- package/src/libs/basis_encoder.js +1 -1
- package/src/libs/basis_transcoder.js +1 -1
- package/src/libs/crunch.js +1 -0
- package/src/types.ts +0 -30
- package/dist/lib/gl-constants.js.map +0 -1
- package/src/lib/parsers/parse-ktx.js +0 -45
- package/src/lib/parsers/parse-npy.js +0 -96
|
@@ -1,114 +1,114 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';
|
|
2
2
|
|
|
3
3
|
const VULKAN_TO_WEBGL_FORMAT_MAP: Record<number, number> = {
|
|
4
|
-
131:
|
|
5
|
-
132:
|
|
6
|
-
133:
|
|
7
|
-
134:
|
|
8
|
-
135:
|
|
9
|
-
136:
|
|
10
|
-
137:
|
|
11
|
-
138:
|
|
12
|
-
139:
|
|
13
|
-
140:
|
|
14
|
-
141:
|
|
15
|
-
142:
|
|
16
|
-
147:
|
|
17
|
-
148:
|
|
18
|
-
149:
|
|
19
|
-
150:
|
|
20
|
-
151:
|
|
21
|
-
152:
|
|
22
|
-
153:
|
|
23
|
-
154:
|
|
24
|
-
155:
|
|
25
|
-
156:
|
|
4
|
+
131: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
5
|
+
132: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,
|
|
6
|
+
133: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT1_EXT,
|
|
7
|
+
134: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
|
|
8
|
+
135: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
|
|
9
|
+
136: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
|
|
10
|
+
137: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
|
|
11
|
+
138: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
|
|
12
|
+
139: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_RGTC1_EXT,
|
|
13
|
+
140: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_RGTC1_EXT,
|
|
14
|
+
141: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_GREEN_RGTC2_EXT,
|
|
15
|
+
142: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
|
|
16
|
+
147: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2,
|
|
17
|
+
148: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ETC2,
|
|
18
|
+
149: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
|
|
19
|
+
150: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
|
|
20
|
+
151: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC,
|
|
21
|
+
152: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
|
|
22
|
+
153: GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC,
|
|
23
|
+
154: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,
|
|
24
|
+
155: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,
|
|
25
|
+
156: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,
|
|
26
26
|
// @ts-ignore
|
|
27
|
-
157:
|
|
27
|
+
157: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
|
|
28
28
|
// @ts-ignore
|
|
29
|
-
158:
|
|
29
|
+
158: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
|
|
30
30
|
// @ts-ignore
|
|
31
|
-
159:
|
|
31
|
+
159: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
|
|
32
32
|
// @ts-ignore
|
|
33
|
-
160:
|
|
33
|
+
160: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
|
|
34
34
|
// @ts-ignore
|
|
35
|
-
161:
|
|
35
|
+
161: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
|
|
36
36
|
// @ts-ignore
|
|
37
|
-
162:
|
|
37
|
+
162: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
|
|
38
38
|
// @ts-ignore
|
|
39
|
-
163:
|
|
39
|
+
163: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
|
|
40
40
|
// @ts-ignore
|
|
41
|
-
164:
|
|
41
|
+
164: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
|
|
42
42
|
// @ts-ignore
|
|
43
|
-
165:
|
|
43
|
+
165: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
|
|
44
44
|
// @ts-ignore
|
|
45
|
-
166:
|
|
45
|
+
166: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
|
|
46
46
|
// @ts-ignore
|
|
47
|
-
167:
|
|
47
|
+
167: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
|
|
48
48
|
// @ts-ignore
|
|
49
|
-
168:
|
|
49
|
+
168: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
|
|
50
50
|
// @ts-ignore
|
|
51
|
-
169:
|
|
51
|
+
169: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
|
|
52
52
|
// @ts-ignore
|
|
53
|
-
170:
|
|
53
|
+
170: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
|
|
54
54
|
// @ts-ignore
|
|
55
|
-
171:
|
|
55
|
+
171: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
|
|
56
56
|
// @ts-ignore
|
|
57
|
-
172:
|
|
57
|
+
172: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
|
|
58
58
|
// @ts-ignore
|
|
59
|
-
173:
|
|
59
|
+
173: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
|
|
60
60
|
// @ts-ignore
|
|
61
|
-
174:
|
|
61
|
+
174: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
|
|
62
62
|
// @ts-ignore
|
|
63
|
-
175:
|
|
63
|
+
175: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
|
|
64
64
|
// @ts-ignore
|
|
65
|
-
176:
|
|
65
|
+
176: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
|
|
66
66
|
// @ts-ignore
|
|
67
|
-
177:
|
|
67
|
+
177: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
|
|
68
68
|
// @ts-ignore
|
|
69
|
-
178:
|
|
69
|
+
178: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
|
|
70
70
|
// @ts-ignore
|
|
71
|
-
179:
|
|
71
|
+
179: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
|
|
72
72
|
// @ts-ignore
|
|
73
|
-
180:
|
|
73
|
+
180: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
|
|
74
74
|
// @ts-ignore
|
|
75
|
-
181:
|
|
75
|
+
181: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
|
|
76
76
|
// @ts-ignore
|
|
77
|
-
182:
|
|
77
|
+
182: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
|
|
78
78
|
// @ts-ignore
|
|
79
|
-
183:
|
|
79
|
+
183: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,
|
|
80
80
|
// @ts-ignore
|
|
81
|
-
184:
|
|
82
|
-
1000054000:
|
|
83
|
-
1000054001:
|
|
81
|
+
184: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
|
|
82
|
+
1000054000: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
|
|
83
|
+
1000054001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
|
|
84
84
|
// @ts-ignore
|
|
85
|
-
1000066000:
|
|
85
|
+
1000066000: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
|
|
86
86
|
// @ts-ignore
|
|
87
|
-
1000066001:
|
|
87
|
+
1000066001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
|
|
88
88
|
// @ts-ignore
|
|
89
|
-
1000066002:
|
|
89
|
+
1000066002: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
|
|
90
90
|
// @ts-ignore
|
|
91
|
-
1000066003:
|
|
91
|
+
1000066003: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
|
|
92
92
|
// @ts-ignore
|
|
93
|
-
1000066004:
|
|
93
|
+
1000066004: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
|
|
94
94
|
// @ts-ignore
|
|
95
|
-
1000066005:
|
|
95
|
+
1000066005: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
|
|
96
96
|
// @ts-ignore
|
|
97
|
-
1000066006:
|
|
97
|
+
1000066006: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
|
|
98
98
|
// @ts-ignore
|
|
99
|
-
1000066007:
|
|
99
|
+
1000066007: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
|
|
100
100
|
// @ts-ignore
|
|
101
|
-
1000066008:
|
|
101
|
+
1000066008: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
|
|
102
102
|
// @ts-ignore
|
|
103
|
-
1000066009:
|
|
103
|
+
1000066009: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
|
|
104
104
|
// @ts-ignore
|
|
105
|
-
1000066010:
|
|
105
|
+
1000066010: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
|
|
106
106
|
// @ts-ignore
|
|
107
|
-
1000066011:
|
|
107
|
+
1000066011: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
|
|
108
108
|
// @ts-ignore
|
|
109
|
-
1000066012:
|
|
109
|
+
1000066012: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
|
|
110
110
|
// @ts-ignore
|
|
111
|
-
1000066013:
|
|
111
|
+
1000066013: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR
|
|
112
112
|
};
|
|
113
113
|
|
|
114
114
|
/**
|
package/src/libs/README.md
CHANGED
package/src/libs/crunch.js
CHANGED
package/src/types.ts
CHANGED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* These represent the main compressed texture formats
|
|
3
|
-
* Each format typically has a number of more specific subformats
|
|
4
|
-
*/
|
|
5
|
-
export type GPUTextureFormat =
|
|
6
|
-
| 'dxt'
|
|
7
|
-
| 'dxt-srgb'
|
|
8
|
-
| 'etc1'
|
|
9
|
-
| 'etc2'
|
|
10
|
-
| 'pvrtc'
|
|
11
|
-
| 'atc'
|
|
12
|
-
| 'astc'
|
|
13
|
-
| 'rgtc';
|
|
14
|
-
|
|
15
|
-
export interface TextureLevel {
|
|
16
|
-
compressed: boolean;
|
|
17
|
-
format: number;
|
|
18
|
-
data: Uint8Array;
|
|
19
|
-
witdh: number;
|
|
20
|
-
height: number;
|
|
21
|
-
levelSize?: number;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export interface CompressedTextureExtractOptions {
|
|
25
|
-
mipMapLevels: number;
|
|
26
|
-
width: number;
|
|
27
|
-
height: number;
|
|
28
|
-
sizeFunction: Function;
|
|
29
|
-
internalFormat: number;
|
|
30
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/gl-constants.ts"],"names":["GL","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_R11_EAC","COMPRESSED_SIGNED_R11_EAC","COMPRESSED_RG11_EAC","COMPRESSED_SIGNED_RG11_EAC","COMPRESSED_RGB8_ETC2","COMPRESSED_RGBA8_ETC2_EAC","COMPRESSED_SRGB8_ETC2","COMPRESSED_SRGB8_ALPHA8_ETC2_EAC","COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_RGB_PVRTC_4BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","COMPRESSED_RGB_PVRTC_2BPPV1_IMG","COMPRESSED_RGBA_PVRTC_2BPPV1_IMG","COMPRESSED_RGB_ETC1_WEBGL","COMPRESSED_RGB_ATC_WEBGL","COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL","COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL","COMPRESSED_RGBA_ASTC_4X4_KHR","COMPRESSED_RGBA_ASTC_5X4_KHR","COMPRESSED_RGBA_ASTC_5X5_KHR","COMPRESSED_RGBA_ASTC_6X5_KHR","COMPRESSED_RGBA_ASTC_6X6_KHR","COMPRESSED_RGBA_ASTC_8X5_KHR","COMPRESSED_RGBA_ASTC_8X6_KHR","COMPRESSED_RGBA_ASTC_8X8_KHR","COMPRESSED_RGBA_ASTC_10X5_KHR","COMPRESSED_RGBA_ASTC_10X6_KHR","COMPRESSED_RGBA_ASTC_10X8_KHR","COMPRESSED_RGBA_ASTC_10X10_KHR","COMPRESSED_RGBA_ASTC_12X10_KHR","COMPRESSED_RGBA_ASTC_12X12_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR","COMPRESSED_RED_RGTC1_EXT","COMPRESSED_SIGNED_RED_RGTC1_EXT","COMPRESSED_RED_GREEN_RGTC2_EXT","COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT","COMPRESSED_SRGB_S3TC_DXT1_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"],"mappings":"AACA,OAAO,MAAMA,EAAE,GAAG;AAGhBC,EAAAA,4BAA4B,EAAE,MAHd;AAIhBC,EAAAA,6BAA6B,EAAE,MAJf;AAKhBC,EAAAA,6BAA6B,EAAE,MALf;AAMhBC,EAAAA,6BAA6B,EAAE,MANf;AAUhBC,EAAAA,kBAAkB,EAAE,MAVJ;AAWhBC,EAAAA,yBAAyB,EAAE,MAXX;AAYhBC,EAAAA,mBAAmB,EAAE,MAZL;AAahBC,EAAAA,0BAA0B,EAAE,MAbZ;AAchBC,EAAAA,oBAAoB,EAAE,MAdN;AAehBC,EAAAA,yBAAyB,EAAE,MAfX;AAgBhBC,EAAAA,qBAAqB,EAAE,MAhBP;AAiBhBC,EAAAA,gCAAgC,EAAE,MAjBlB;AAkBhBC,EAAAA,wCAAwC,EAAE,MAlB1B;AAmBhBC,EAAAA,yCAAyC,EAAE,MAnB3B;AAuBhBC,EAAAA,+BAA+B,EAAE,MAvBjB;AAwBhBC,EAAAA,gCAAgC,EAAE,MAxBlB;AAyBhBC,EAAAA,+BAA+B,EAAE,MAzBjB;AA0BhBC,EAAAA,gCAAgC,EAAE,MA1BlB;AA8BhBC,EAAAA,yBAAyB,EAAE,MA9BX;AAkChBC,EAAAA,wBAAwB,EAAE,MAlCV;AAmChBC,EAAAA,wCAAwC,EAAE,MAnC1B;AAoChBC,EAAAA,4CAA4C,EAAE,MApC9B;AAwChBC,EAAAA,4BAA4B,EAAE,MAxCd;AAyChBC,EAAAA,4BAA4B,EAAE,MAzCd;AA0ChBC,EAAAA,4BAA4B,EAAE,MA1Cd;AA2ChBC,EAAAA,4BAA4B,EAAE,MA3Cd;AA4ChBC,EAAAA,4BAA4B,EAAE,MA5Cd;AA6ChBC,EAAAA,4BAA4B,EAAE,MA7Cd;AA8ChBC,EAAAA,4BAA4B,EAAE,MA9Cd;AA+ChBC,EAAAA,4BAA4B,EAAE,MA/Cd;AAgDhBC,EAAAA,6BAA6B,EAAE,MAhDf;AAiDhBC,EAAAA,6BAA6B,EAAE,MAjDf;AAkDhBC,EAAAA,6BAA6B,EAAE,MAlDf;AAmDhBC,EAAAA,8BAA8B,EAAE,MAnDhB;AAoDhBC,EAAAA,8BAA8B,EAAE,MApDhB;AAqDhBC,EAAAA,8BAA8B,EAAE,MArDhB;AAsDhBC,EAAAA,oCAAoC,EAAE,MAtDtB;AAuDhBC,EAAAA,oCAAoC,EAAE,MAvDtB;AAwDhBC,EAAAA,oCAAoC,EAAE,MAxDtB;AAyDhBC,EAAAA,oCAAoC,EAAE,MAzDtB;AA0DhBC,EAAAA,oCAAoC,EAAE,MA1DtB;AA2DhBC,EAAAA,oCAAoC,EAAE,MA3DtB;AA4DhBC,EAAAA,oCAAoC,EAAE,MA5DtB;AA6DhBC,EAAAA,oCAAoC,EAAE,MA7DtB;AA8DhBC,EAAAA,qCAAqC,EAAE,MA9DvB;AA+DhBC,EAAAA,qCAAqC,EAAE,MA/DvB;AAgEhBC,EAAAA,qCAAqC,EAAE,MAhEvB;AAiEhBC,EAAAA,sCAAsC,EAAE,MAjExB;AAkEhBC,EAAAA,sCAAsC,EAAE,MAlExB;AAmEhBC,EAAAA,sCAAsC,EAAE,MAnExB;AAuEhBC,EAAAA,wBAAwB,EAAE,MAvEV;AAwEhBC,EAAAA,+BAA+B,EAAE,MAxEjB;AAyEhBC,EAAAA,8BAA8B,EAAE,MAzEhB;AA0EhBC,EAAAA,qCAAqC,EAAE,MA1EvB;AA8EhBC,EAAAA,6BAA6B,EAAE,MA9Ef;AA+EhBC,EAAAA,mCAAmC,EAAE,MA/ErB;AAgFhBC,EAAAA,mCAAmC,EAAE,MAhFrB;AAiFhBC,EAAAA,mCAAmC,EAAE;AAjFrB,CAAX","sourcesContent":["/* eslint-disable camelcase */\nexport const GL = {\n // WEBGL_compressed_texture_s3tc\n\n COMPRESSED_RGB_S3TC_DXT1_EXT: 0x83f0,\n COMPRESSED_RGBA_S3TC_DXT1_EXT: 0x83f1,\n COMPRESSED_RGBA_S3TC_DXT3_EXT: 0x83f2,\n COMPRESSED_RGBA_S3TC_DXT5_EXT: 0x83f3,\n\n // WEBGL_compressed_texture_es3\n\n COMPRESSED_R11_EAC: 0x9270,\n COMPRESSED_SIGNED_R11_EAC: 0x9271,\n COMPRESSED_RG11_EAC: 0x9272,\n COMPRESSED_SIGNED_RG11_EAC: 0x9273,\n COMPRESSED_RGB8_ETC2: 0x9274,\n COMPRESSED_RGBA8_ETC2_EAC: 0x9275,\n COMPRESSED_SRGB8_ETC2: 0x9276,\n COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 0x9277,\n COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9278,\n COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9279,\n\n // WEBGL_compressed_texture_pvrtc\n\n COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 0x8c00,\n COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 0x8c02,\n COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 0x8c01,\n COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 0x8c03,\n\n // WEBGL_compressed_texture_etc1\n\n COMPRESSED_RGB_ETC1_WEBGL: 0x8d64,\n\n // WEBGL_compressed_texture_atc\n\n COMPRESSED_RGB_ATC_WEBGL: 0x8c92,\n COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: 0x8c93,\n COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: 0x87ee,\n\n // WEBGL_compressed_texture_astc\n\n COMPRESSED_RGBA_ASTC_4X4_KHR: 0x93b0,\n COMPRESSED_RGBA_ASTC_5X4_KHR: 0x93b1,\n COMPRESSED_RGBA_ASTC_5X5_KHR: 0x93b2,\n COMPRESSED_RGBA_ASTC_6X5_KHR: 0x93b3,\n COMPRESSED_RGBA_ASTC_6X6_KHR: 0x93b4,\n COMPRESSED_RGBA_ASTC_8X5_KHR: 0x93b5,\n COMPRESSED_RGBA_ASTC_8X6_KHR: 0x93b6,\n COMPRESSED_RGBA_ASTC_8X8_KHR: 0x93b7,\n COMPRESSED_RGBA_ASTC_10X5_KHR: 0x93b8,\n COMPRESSED_RGBA_ASTC_10X6_KHR: 0x93b9,\n COMPRESSED_RGBA_ASTC_10X8_KHR: 0x93ba,\n COMPRESSED_RGBA_ASTC_10X10_KHR: 0x93bb,\n COMPRESSED_RGBA_ASTC_12X10_KHR: 0x93bc,\n COMPRESSED_RGBA_ASTC_12X12_KHR: 0x93bd,\n COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR: 0x93d0,\n COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR: 0x93d1,\n COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR: 0x93d2,\n COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR: 0x93d3,\n COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR: 0x93d4,\n COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR: 0x93d5,\n COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR: 0x93d6,\n COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR: 0x93d7,\n COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR: 0x93d8,\n COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR: 0x93d9,\n COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR: 0x93da,\n COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR: 0x93db,\n COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR: 0x93dc,\n COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR: 0x93dd,\n\n // EXT_texture_compression_rgtc\n\n COMPRESSED_RED_RGTC1_EXT: 0x8dbb,\n COMPRESSED_SIGNED_RED_RGTC1_EXT: 0x8dbc,\n COMPRESSED_RED_GREEN_RGTC2_EXT: 0x8dbd,\n COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 0x8dbe,\n\n // WEBGL_compressed_texture_s3tc_srgb\n\n COMPRESSED_SRGB_S3TC_DXT1_EXT: 0x8c4c,\n COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 0x8c4d,\n COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 0x8c4e,\n COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 0x8c4f\n};\n"],"file":"gl-constants.js"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import {read} from 'ktx-parse';
|
|
2
|
-
import {extractMipmapImages} from '../utils/extract-mipmap-images';
|
|
3
|
-
import {mapVkFormatToWebGL} from '../utils/ktx-format-helper';
|
|
4
|
-
|
|
5
|
-
const KTX2_ID = [
|
|
6
|
-
// '´', 'K', 'T', 'X', '2', '0', 'ª', '\r', '\n', '\x1A', '\n'
|
|
7
|
-
0xab, 0x4b, 0x54, 0x58, 0x20, 0x32, 0x30, 0xbb, 0x0d, 0x0a, 0x1a, 0x0a
|
|
8
|
-
];
|
|
9
|
-
|
|
10
|
-
// eslint-disable-next-line complexity
|
|
11
|
-
export function isKTX(data) {
|
|
12
|
-
const id = new Uint8Array(data.buffer || data, data.byteOffset || 0, KTX2_ID.length);
|
|
13
|
-
const notKTX =
|
|
14
|
-
id[0] !== KTX2_ID[0] || // '´'
|
|
15
|
-
id[1] !== KTX2_ID[1] || // 'K'
|
|
16
|
-
id[2] !== KTX2_ID[2] || // 'T'
|
|
17
|
-
id[3] !== KTX2_ID[3] || // 'X'
|
|
18
|
-
id[4] !== KTX2_ID[4] || // ' '
|
|
19
|
-
id[5] !== KTX2_ID[5] || // '2'
|
|
20
|
-
id[6] !== KTX2_ID[6] || // '0'
|
|
21
|
-
id[7] !== KTX2_ID[7] || // 'ª'
|
|
22
|
-
id[8] !== KTX2_ID[8] || // '\r'
|
|
23
|
-
id[9] !== KTX2_ID[9] || // '\n'
|
|
24
|
-
id[10] !== KTX2_ID[10] || // '\x1A'
|
|
25
|
-
id[11] !== KTX2_ID[11]; // '\n'
|
|
26
|
-
|
|
27
|
-
return !notKTX;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export function parseKTX(arrayBuffer) {
|
|
31
|
-
const uint8Array = new Uint8Array(arrayBuffer);
|
|
32
|
-
const ktx = read(uint8Array);
|
|
33
|
-
const mipMapLevels = Math.max(1, ktx.levels.length);
|
|
34
|
-
const width = ktx.pixelWidth;
|
|
35
|
-
const height = ktx.pixelHeight;
|
|
36
|
-
const internalFormat = mapVkFormatToWebGL(ktx.vkFormat);
|
|
37
|
-
|
|
38
|
-
return extractMipmapImages(ktx.levels, {
|
|
39
|
-
mipMapLevels,
|
|
40
|
-
width,
|
|
41
|
-
height,
|
|
42
|
-
sizeFunction: (level) => level.uncompressedByteLength,
|
|
43
|
-
internalFormat
|
|
44
|
-
});
|
|
45
|
-
}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
function systemIsLittleEndian() {
|
|
2
|
-
const a = new Uint32Array([0x12345678]);
|
|
3
|
-
const b = new Uint8Array(a.buffer, a.byteOffset, a.byteLength);
|
|
4
|
-
return !(b[0] === 0x12);
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
const LITTLE_ENDIAN_OS = systemIsLittleEndian();
|
|
8
|
-
|
|
9
|
-
// The basic string format consists of 3 characters:
|
|
10
|
-
// 1. a character describing the byteorder of the data (<: little-endian, >: big-endian, |: not-relevant)
|
|
11
|
-
// 2. a character code giving the basic type of the array
|
|
12
|
-
// 3. an integer providing the number of bytes the type uses.
|
|
13
|
-
// https://numpy.org/doc/stable/reference/arrays.interface.html
|
|
14
|
-
//
|
|
15
|
-
// Here I only include the second and third characters, and check endianness
|
|
16
|
-
// separately
|
|
17
|
-
const DTYPES = {
|
|
18
|
-
u1: Uint8Array,
|
|
19
|
-
i1: Int8Array,
|
|
20
|
-
u2: Uint16Array,
|
|
21
|
-
i2: Int16Array,
|
|
22
|
-
u4: Uint32Array,
|
|
23
|
-
i4: Int32Array,
|
|
24
|
-
f4: Float32Array,
|
|
25
|
-
f8: Float64Array
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export function parseNPY(arrayBuffer, options) {
|
|
29
|
-
if (!arrayBuffer) {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const view = new DataView(arrayBuffer);
|
|
34
|
-
const {header, headerEndOffset} = parseHeader(view);
|
|
35
|
-
|
|
36
|
-
const numpyType = header.descr;
|
|
37
|
-
const ArrayType = DTYPES[numpyType.slice(1, 3)];
|
|
38
|
-
if (!ArrayType) {
|
|
39
|
-
// eslint-disable-next-line no-console, no-undef
|
|
40
|
-
console.warn(`Decoding of npy dtype not implemented: ${numpyType}`);
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
const nArrayElements = header.shape.reduce((a, b) => a * b);
|
|
45
|
-
const arrayByteLength = nArrayElements * ArrayType.BYTES_PER_ELEMENT;
|
|
46
|
-
|
|
47
|
-
const data = new ArrayType(arrayBuffer.slice(headerEndOffset, headerEndOffset + arrayByteLength));
|
|
48
|
-
|
|
49
|
-
// Swap endianness if needed
|
|
50
|
-
if ((numpyType[0] === '>' && LITTLE_ENDIAN_OS) || (numpyType[0] === '<' && !LITTLE_ENDIAN_OS)) {
|
|
51
|
-
// eslint-disable-next-line no-console, no-undef
|
|
52
|
-
console.warn('Data is wrong endianness, byte swapping not yet implemented.');
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
return {
|
|
56
|
-
data,
|
|
57
|
-
header
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Parse NPY header
|
|
63
|
-
*
|
|
64
|
-
* @param {DataView} view
|
|
65
|
-
* @return {Object}
|
|
66
|
-
*/
|
|
67
|
-
function parseHeader(view) {
|
|
68
|
-
const majorVersion = view.getUint8(6);
|
|
69
|
-
// const minorVersion = view.getUint8(7);
|
|
70
|
-
|
|
71
|
-
let offset = 8;
|
|
72
|
-
let headerLength;
|
|
73
|
-
if (majorVersion >= 2) {
|
|
74
|
-
headerLength = view.getUint32(8, true);
|
|
75
|
-
offset += 4;
|
|
76
|
-
} else {
|
|
77
|
-
headerLength = view.getUint16(8, true);
|
|
78
|
-
offset += 2;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
const encoding = majorVersion <= 2 ? 'latin1' : 'utf-8';
|
|
82
|
-
const decoder = new TextDecoder(encoding);
|
|
83
|
-
const headerArray = new Uint8Array(view.buffer, offset, headerLength);
|
|
84
|
-
const headerText = decoder.decode(headerArray);
|
|
85
|
-
offset += headerLength;
|
|
86
|
-
|
|
87
|
-
const header = JSON.parse(
|
|
88
|
-
headerText
|
|
89
|
-
.replace(/'/g, '"')
|
|
90
|
-
.replace('False', 'false')
|
|
91
|
-
.replace('(', '[')
|
|
92
|
-
.replace(/,*\),*/g, ']')
|
|
93
|
-
);
|
|
94
|
-
|
|
95
|
-
return {header, headerEndOffset: offset};
|
|
96
|
-
}
|