babylonjs-ktx2decoder 5.0.0-rc.7 → 5.0.0-rc.9
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/babylon.ktx2Decoder.js → babylon.ktx2Decoder.js} +0 -0
- package/{dist/babylon.ktx2Decoder.js.map → babylon.ktx2Decoder.js.map} +0 -0
- package/{dist/babylon.ktx2Decoder.max.js → babylon.ktx2Decoder.max.js} +1233 -1233
- package/{dist/babylon.ktx2Decoder.max.js.map → babylon.ktx2Decoder.max.js.map} +0 -0
- package/babylon.ktx2Decoder.module.d.ts +12 -0
- package/package.json +6 -7
- package/dist/babylon.ktx2Decoder.module.d.ts +0 -578
|
@@ -1,578 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
declare module "babylonjs-ktx2decoder/index" {
|
|
3
|
-
export * from "babylonjs-ktx2decoder/ktx2Decoder";
|
|
4
|
-
export * from "babylonjs-ktx2decoder/ktx2FileReader";
|
|
5
|
-
export * from "babylonjs-ktx2decoder/transcoder";
|
|
6
|
-
export * from "babylonjs-ktx2decoder/transcoderManager";
|
|
7
|
-
export * from "babylonjs-ktx2decoder/wasmMemoryManager";
|
|
8
|
-
export * from "babylonjs-ktx2decoder/zstddec";
|
|
9
|
-
export * from "babylonjs-ktx2decoder/Misc/index";
|
|
10
|
-
export * from "babylonjs-ktx2decoder/Transcoders/index";
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
declare module "babylonjs-ktx2decoder/ktx2Decoder" {
|
|
14
|
-
/**
|
|
15
|
-
* Resources used for the implementation:
|
|
16
|
-
* - 3js KTX2 loader: https://github.com/mrdoob/three.js/blob/dfb5c23ce126ec845e4aa240599915fef5375797/examples/jsm/loaders/KTX2Loader.js
|
|
17
|
-
* - Universal Texture Transcoders: https://github.com/KhronosGroup/Universal-Texture-Transcoders
|
|
18
|
-
* - KTX2 specification: http://github.khronos.org/KTX-Specification/
|
|
19
|
-
* - KTX2 binaries to convert files: https://github.com/KhronosGroup/KTX-Software/releases
|
|
20
|
-
* - KTX specification: https://www.khronos.org/registry/DataFormat/specs/1.3/dataformat.1.3.html
|
|
21
|
-
* - KTX-Software: https://github.com/KhronosGroup/KTX-Software
|
|
22
|
-
*/
|
|
23
|
-
export interface IDecodedData {
|
|
24
|
-
width: number;
|
|
25
|
-
height: number;
|
|
26
|
-
transcodedFormat: number;
|
|
27
|
-
mipmaps: Array<IMipmap>;
|
|
28
|
-
isInGammaSpace: boolean;
|
|
29
|
-
hasAlpha: boolean;
|
|
30
|
-
errors?: string;
|
|
31
|
-
transcoderName?: string;
|
|
32
|
-
}
|
|
33
|
-
export interface IMipmap {
|
|
34
|
-
data: Uint8Array | null;
|
|
35
|
-
width: number;
|
|
36
|
-
height: number;
|
|
37
|
-
}
|
|
38
|
-
export interface ICompressedFormatCapabilities {
|
|
39
|
-
astc?: boolean;
|
|
40
|
-
bptc?: boolean;
|
|
41
|
-
s3tc?: boolean;
|
|
42
|
-
pvrtc?: boolean;
|
|
43
|
-
etc2?: boolean;
|
|
44
|
-
etc1?: boolean;
|
|
45
|
-
}
|
|
46
|
-
export interface IKTX2DecoderOptions {
|
|
47
|
-
/** use RGBA format if ASTC and BC7 are not available as transcoded format */
|
|
48
|
-
useRGBAIfASTCBC7NotAvailableWhenUASTC?: boolean;
|
|
49
|
-
/** force to always use RGBA for transcoded format */
|
|
50
|
-
forceRGBA?: boolean;
|
|
51
|
-
/**
|
|
52
|
-
* list of transcoders to bypass when looking for a suitable transcoder. The available transcoders are:
|
|
53
|
-
* UniversalTranscoder_UASTC_ASTC
|
|
54
|
-
* UniversalTranscoder_UASTC_BC7
|
|
55
|
-
* UniversalTranscoder_UASTC_RGBA_UNORM
|
|
56
|
-
* UniversalTranscoder_UASTC_RGBA_SRGB
|
|
57
|
-
* MSCTranscoder
|
|
58
|
-
*/
|
|
59
|
-
bypassTranscoders?: string[];
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Class for decoding KTX2 files
|
|
63
|
-
*
|
|
64
|
-
*/
|
|
65
|
-
export class KTX2Decoder {
|
|
66
|
-
private _transcoderMgr;
|
|
67
|
-
private _zstdDecoder;
|
|
68
|
-
constructor();
|
|
69
|
-
decode(data: Uint8Array, caps: ICompressedFormatCapabilities, options?: IKTX2DecoderOptions): Promise<IDecodedData | null>;
|
|
70
|
-
private _decodeData;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
declare module "babylonjs-ktx2decoder/ktx2FileReader" {
|
|
75
|
-
import { sourceTextureFormat } from "babylonjs-ktx2decoder/transcoder";
|
|
76
|
-
/** @hidden */
|
|
77
|
-
export enum SupercompressionScheme {
|
|
78
|
-
None = 0,
|
|
79
|
-
BasisLZ = 1,
|
|
80
|
-
ZStandard = 2,
|
|
81
|
-
ZLib = 3
|
|
82
|
-
}
|
|
83
|
-
/** @hidden */
|
|
84
|
-
export interface IKTX2_Header {
|
|
85
|
-
vkFormat: number;
|
|
86
|
-
typeSize: number;
|
|
87
|
-
pixelWidth: number;
|
|
88
|
-
pixelHeight: number;
|
|
89
|
-
pixelDepth: number;
|
|
90
|
-
layerCount: number;
|
|
91
|
-
faceCount: number;
|
|
92
|
-
levelCount: number;
|
|
93
|
-
supercompressionScheme: number;
|
|
94
|
-
dfdByteOffset: number;
|
|
95
|
-
dfdByteLength: number;
|
|
96
|
-
kvdByteOffset: number;
|
|
97
|
-
kvdByteLength: number;
|
|
98
|
-
sgdByteOffset: number;
|
|
99
|
-
sgdByteLength: number;
|
|
100
|
-
}
|
|
101
|
-
/** @hidden */
|
|
102
|
-
export interface IKTX2_Level {
|
|
103
|
-
byteOffset: number;
|
|
104
|
-
byteLength: number;
|
|
105
|
-
uncompressedByteLength: number;
|
|
106
|
-
}
|
|
107
|
-
interface IKTX2_Sample {
|
|
108
|
-
bitOffset: number;
|
|
109
|
-
bitLength: number;
|
|
110
|
-
channelType: number;
|
|
111
|
-
channelFlags: number;
|
|
112
|
-
samplePosition: number[];
|
|
113
|
-
sampleLower: number;
|
|
114
|
-
sampleUpper: number;
|
|
115
|
-
}
|
|
116
|
-
/** @hidden */
|
|
117
|
-
export interface IKTX2_DFD {
|
|
118
|
-
vendorId: number;
|
|
119
|
-
descriptorType: number;
|
|
120
|
-
versionNumber: number;
|
|
121
|
-
descriptorBlockSize: number;
|
|
122
|
-
colorModel: number;
|
|
123
|
-
colorPrimaries: number;
|
|
124
|
-
transferFunction: number;
|
|
125
|
-
flags: number;
|
|
126
|
-
texelBlockDimension: {
|
|
127
|
-
x: number;
|
|
128
|
-
y: number;
|
|
129
|
-
z: number;
|
|
130
|
-
w: number;
|
|
131
|
-
};
|
|
132
|
-
bytesPlane: Array<number>;
|
|
133
|
-
numSamples: number;
|
|
134
|
-
samples: Array<IKTX2_Sample>;
|
|
135
|
-
}
|
|
136
|
-
/** @hidden */
|
|
137
|
-
export interface IKTX2_ImageDesc {
|
|
138
|
-
imageFlags: number;
|
|
139
|
-
rgbSliceByteOffset: number;
|
|
140
|
-
rgbSliceByteLength: number;
|
|
141
|
-
alphaSliceByteOffset: number;
|
|
142
|
-
alphaSliceByteLength: number;
|
|
143
|
-
}
|
|
144
|
-
/** @hidden */
|
|
145
|
-
export interface IKTX2_SupercompressionGlobalData {
|
|
146
|
-
endpointCount?: number;
|
|
147
|
-
selectorCount?: number;
|
|
148
|
-
endpointsByteLength?: number;
|
|
149
|
-
selectorsByteLength?: number;
|
|
150
|
-
tablesByteLength?: number;
|
|
151
|
-
extendedByteLength?: number;
|
|
152
|
-
imageDescs?: Array<IKTX2_ImageDesc>;
|
|
153
|
-
endpointsData?: Uint8Array;
|
|
154
|
-
selectorsData?: Uint8Array;
|
|
155
|
-
tablesData?: Uint8Array;
|
|
156
|
-
extendedData?: Uint8Array;
|
|
157
|
-
}
|
|
158
|
-
export class KTX2FileReader {
|
|
159
|
-
private _data;
|
|
160
|
-
private _header;
|
|
161
|
-
private _levels;
|
|
162
|
-
private _dfdBlock;
|
|
163
|
-
private _supercompressionGlobalData;
|
|
164
|
-
/**
|
|
165
|
-
* Will throw an exception if the file can't be parsed
|
|
166
|
-
* @param data
|
|
167
|
-
*/
|
|
168
|
-
constructor(data: Uint8Array);
|
|
169
|
-
get data(): Uint8Array;
|
|
170
|
-
get header(): IKTX2_Header;
|
|
171
|
-
get levels(): Array<IKTX2_Level>;
|
|
172
|
-
get dfdBlock(): IKTX2_DFD;
|
|
173
|
-
get supercompressionGlobalData(): IKTX2_SupercompressionGlobalData;
|
|
174
|
-
isValid(): boolean;
|
|
175
|
-
parse(): void;
|
|
176
|
-
private _getImageCount;
|
|
177
|
-
get textureFormat(): sourceTextureFormat;
|
|
178
|
-
get hasAlpha(): boolean;
|
|
179
|
-
get needZSTDDecoder(): boolean;
|
|
180
|
-
get isInGammaSpace(): boolean;
|
|
181
|
-
static IsValid(data: ArrayBufferView): boolean;
|
|
182
|
-
}
|
|
183
|
-
export {};
|
|
184
|
-
|
|
185
|
-
}
|
|
186
|
-
declare module "babylonjs-ktx2decoder/legacy/legacy" {
|
|
187
|
-
export * from "babylonjs-ktx2decoder/index";
|
|
188
|
-
|
|
189
|
-
}
|
|
190
|
-
declare module "babylonjs-ktx2decoder/Misc/dataReader" {
|
|
191
|
-
/**
|
|
192
|
-
* Utility class for reading from a data buffer
|
|
193
|
-
*/
|
|
194
|
-
export class DataReader {
|
|
195
|
-
/**
|
|
196
|
-
* The current byte offset from the beginning of the data buffer.
|
|
197
|
-
*/
|
|
198
|
-
get byteOffset(): number;
|
|
199
|
-
private _dataView;
|
|
200
|
-
private _dataByteOffset;
|
|
201
|
-
/**
|
|
202
|
-
* Constructor
|
|
203
|
-
* @param buffer The buffer to set
|
|
204
|
-
* @param byteOffset The starting offset in the buffer
|
|
205
|
-
* @param byteLength The byte length of the buffer
|
|
206
|
-
*/
|
|
207
|
-
constructor(buffer: ArrayBuffer | ArrayBufferView, byteOffset?: number, byteLength?: number);
|
|
208
|
-
/**
|
|
209
|
-
* Read a unsigned 8-bit integer from the currently loaded data range.
|
|
210
|
-
* @returns The 8-bit integer read
|
|
211
|
-
*/
|
|
212
|
-
readUint8(): number;
|
|
213
|
-
/**
|
|
214
|
-
* Read a signed 8-bit integer from the currently loaded data range.
|
|
215
|
-
* @returns The 8-bit integer read
|
|
216
|
-
*/
|
|
217
|
-
readInt8(): number;
|
|
218
|
-
/**
|
|
219
|
-
* Read a unsigned 16-bit integer from the currently loaded data range.
|
|
220
|
-
* @returns The 16-bit integer read
|
|
221
|
-
*/
|
|
222
|
-
readUint16(): number;
|
|
223
|
-
/**
|
|
224
|
-
* Read a signed 16-bit integer from the currently loaded data range.
|
|
225
|
-
* @returns The 16-bit integer read
|
|
226
|
-
*/
|
|
227
|
-
readInt16(): number;
|
|
228
|
-
/**
|
|
229
|
-
* Read a unsigned 32-bit integer from the currently loaded data range.
|
|
230
|
-
* @returns The 32-bit integer read
|
|
231
|
-
*/
|
|
232
|
-
readUint32(): number;
|
|
233
|
-
/**
|
|
234
|
-
* Read a signed 32-bit integer from the currently loaded data range.
|
|
235
|
-
* @returns The 32-bit integer read
|
|
236
|
-
*/
|
|
237
|
-
readInt32(): number;
|
|
238
|
-
/**
|
|
239
|
-
* Read a unsigned 32-bit integer from the currently loaded data range.
|
|
240
|
-
* @returns The 32-bit integer read
|
|
241
|
-
*/
|
|
242
|
-
readUint64(): number;
|
|
243
|
-
/**
|
|
244
|
-
* Read a byte array from the currently loaded data range.
|
|
245
|
-
* @param byteLength The byte length to read
|
|
246
|
-
* @returns The byte array read
|
|
247
|
-
*/
|
|
248
|
-
readUint8Array(byteLength: number): Uint8Array;
|
|
249
|
-
/**
|
|
250
|
-
* Skips the given byte length the currently loaded data range.
|
|
251
|
-
* @param byteLength The byte length to skip
|
|
252
|
-
* @returns This instance
|
|
253
|
-
*/
|
|
254
|
-
skipBytes(byteLength: number): this;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
}
|
|
258
|
-
declare module "babylonjs-ktx2decoder/Misc/index" {
|
|
259
|
-
export * from "babylonjs-ktx2decoder/Misc/dataReader";
|
|
260
|
-
|
|
261
|
-
}
|
|
262
|
-
declare module "babylonjs-ktx2decoder/transcodeDecisionTree" {
|
|
263
|
-
import { sourceTextureFormat } from "babylonjs-ktx2decoder/transcoder";
|
|
264
|
-
export class TranscodeDecisionTree {
|
|
265
|
-
private static _IsLeafNode;
|
|
266
|
-
private _hasAlpha;
|
|
267
|
-
private _isPowerOfTwo;
|
|
268
|
-
private _caps;
|
|
269
|
-
private _options;
|
|
270
|
-
private _transcodeFormat;
|
|
271
|
-
private _engineFormat;
|
|
272
|
-
private _roundToMultiple4;
|
|
273
|
-
get transcodeFormat(): number;
|
|
274
|
-
get engineFormat(): number;
|
|
275
|
-
get roundToMultiple4(): boolean;
|
|
276
|
-
constructor(textureFormat: sourceTextureFormat, hasAlpha: boolean, isPowerOfTwo: boolean, caps: any, options?: any);
|
|
277
|
-
private _parseNode;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
}
|
|
281
|
-
declare module "babylonjs-ktx2decoder/transcoder" {
|
|
282
|
-
import { WASMMemoryManager } from "babylonjs-ktx2decoder/wasmMemoryManager";
|
|
283
|
-
import { KTX2FileReader, IKTX2_ImageDesc } from "babylonjs-ktx2decoder/ktx2FileReader";
|
|
284
|
-
/**
|
|
285
|
-
* @hidden
|
|
286
|
-
*/
|
|
287
|
-
export enum sourceTextureFormat {
|
|
288
|
-
ETC1S = 0,
|
|
289
|
-
UASTC4x4 = 1
|
|
290
|
-
}
|
|
291
|
-
/**
|
|
292
|
-
* @hidden
|
|
293
|
-
*/
|
|
294
|
-
export enum transcodeTarget {
|
|
295
|
-
ASTC_4x4_RGBA = 0,
|
|
296
|
-
BC7_RGBA = 1,
|
|
297
|
-
BC3_RGBA = 2,
|
|
298
|
-
BC1_RGB = 3,
|
|
299
|
-
PVRTC1_4_RGBA = 4,
|
|
300
|
-
PVRTC1_4_RGB = 5,
|
|
301
|
-
ETC2_RGBA = 6,
|
|
302
|
-
ETC1_RGB = 7,
|
|
303
|
-
RGBA32 = 8
|
|
304
|
-
}
|
|
305
|
-
/**
|
|
306
|
-
* @hidden
|
|
307
|
-
*/
|
|
308
|
-
export class Transcoder {
|
|
309
|
-
static CanTranscode(src: sourceTextureFormat, dst: transcodeTarget, isInGammaSpace: boolean): boolean;
|
|
310
|
-
static Name: string;
|
|
311
|
-
getName(): string;
|
|
312
|
-
initialize(): void;
|
|
313
|
-
needMemoryManager(): boolean;
|
|
314
|
-
setMemoryManager(memoryMgr: WASMMemoryManager): void;
|
|
315
|
-
transcode(src: sourceTextureFormat, dst: transcodeTarget, level: number, width: number, height: number, uncompressedByteLength: number, ktx2Reader: KTX2FileReader, imageDesc: IKTX2_ImageDesc | null, encodedData: Uint8Array): Promise<Uint8Array | null>;
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
}
|
|
319
|
-
declare module "babylonjs-ktx2decoder/transcoderManager" {
|
|
320
|
-
import { transcodeTarget, sourceTextureFormat, Transcoder } from "babylonjs-ktx2decoder/transcoder";
|
|
321
|
-
/**
|
|
322
|
-
* @hidden
|
|
323
|
-
*/
|
|
324
|
-
export class TranscoderManager {
|
|
325
|
-
static _Transcoders: Array<typeof Transcoder>;
|
|
326
|
-
static RegisterTranscoder(transcoder: typeof Transcoder): void;
|
|
327
|
-
private static _TranscoderInstances;
|
|
328
|
-
private _wasmMemoryManager;
|
|
329
|
-
findTranscoder(src: sourceTextureFormat, dst: transcodeTarget, isInGammaSpace: boolean, bypass?: string[]): Transcoder | null;
|
|
330
|
-
private _getExistingTranscoder;
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
}
|
|
334
|
-
declare module "babylonjs-ktx2decoder/Transcoders/index" {
|
|
335
|
-
export * from "babylonjs-ktx2decoder/Transcoders/liteTranscoder";
|
|
336
|
-
export * from "babylonjs-ktx2decoder/Transcoders/liteTranscoder_UASTC_ASTC";
|
|
337
|
-
export * from "babylonjs-ktx2decoder/Transcoders/liteTranscoder_UASTC_BC7";
|
|
338
|
-
export * from "babylonjs-ktx2decoder/Transcoders/liteTranscoder_UASTC_RGBA_UNORM";
|
|
339
|
-
export * from "babylonjs-ktx2decoder/Transcoders/liteTranscoder_UASTC_RGBA_SRGB";
|
|
340
|
-
export * from "babylonjs-ktx2decoder/Transcoders/mscTranscoder";
|
|
341
|
-
|
|
342
|
-
}
|
|
343
|
-
declare module "babylonjs-ktx2decoder/Transcoders/liteTranscoder_UASTC_ASTC" {
|
|
344
|
-
import { sourceTextureFormat, transcodeTarget } from "babylonjs-ktx2decoder/transcoder";
|
|
345
|
-
import { LiteTranscoder } from "babylonjs-ktx2decoder/Transcoders/liteTranscoder";
|
|
346
|
-
/**
|
|
347
|
-
* @hidden
|
|
348
|
-
*/
|
|
349
|
-
export class LiteTranscoder_UASTC_ASTC extends LiteTranscoder {
|
|
350
|
-
/**
|
|
351
|
-
* URL to use when loading the wasm module for the transcoder
|
|
352
|
-
*/
|
|
353
|
-
static WasmModuleURL: string;
|
|
354
|
-
static CanTranscode(src: sourceTextureFormat, dst: transcodeTarget, isInGammaSpace: boolean): boolean;
|
|
355
|
-
static Name: string;
|
|
356
|
-
getName(): string;
|
|
357
|
-
initialize(): void;
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
}
|
|
361
|
-
declare module "babylonjs-ktx2decoder/Transcoders/liteTranscoder_UASTC_BC7" {
|
|
362
|
-
import { sourceTextureFormat, transcodeTarget } from "babylonjs-ktx2decoder/transcoder";
|
|
363
|
-
import { LiteTranscoder } from "babylonjs-ktx2decoder/Transcoders/liteTranscoder";
|
|
364
|
-
/**
|
|
365
|
-
* @hidden
|
|
366
|
-
*/
|
|
367
|
-
export class LiteTranscoder_UASTC_BC7 extends LiteTranscoder {
|
|
368
|
-
/**
|
|
369
|
-
* URL to use when loading the wasm module for the transcoder
|
|
370
|
-
*/
|
|
371
|
-
static WasmModuleURL: string;
|
|
372
|
-
static CanTranscode(src: sourceTextureFormat, dst: transcodeTarget, isInGammaSpace: boolean): boolean;
|
|
373
|
-
static Name: string;
|
|
374
|
-
getName(): string;
|
|
375
|
-
initialize(): void;
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
}
|
|
379
|
-
declare module "babylonjs-ktx2decoder/Transcoders/liteTranscoder_UASTC_RGBA_SRGB" {
|
|
380
|
-
import { sourceTextureFormat, transcodeTarget } from "babylonjs-ktx2decoder/transcoder";
|
|
381
|
-
import { LiteTranscoder } from "babylonjs-ktx2decoder/Transcoders/liteTranscoder";
|
|
382
|
-
import { KTX2FileReader, IKTX2_ImageDesc } from "babylonjs-ktx2decoder/ktx2FileReader";
|
|
383
|
-
/**
|
|
384
|
-
* @hidden
|
|
385
|
-
*/
|
|
386
|
-
export class LiteTranscoder_UASTC_RGBA_SRGB extends LiteTranscoder {
|
|
387
|
-
/**
|
|
388
|
-
* URL to use when loading the wasm module for the transcoder (srgb)
|
|
389
|
-
*/
|
|
390
|
-
static WasmModuleURL: string;
|
|
391
|
-
static CanTranscode(src: sourceTextureFormat, dst: transcodeTarget, isInGammaSpace: boolean): boolean;
|
|
392
|
-
static Name: string;
|
|
393
|
-
getName(): string;
|
|
394
|
-
initialize(): void;
|
|
395
|
-
transcode(src: sourceTextureFormat, dst: transcodeTarget, level: number, width: number, height: number, uncompressedByteLength: number, ktx2Reader: KTX2FileReader, imageDesc: IKTX2_ImageDesc | null, encodedData: Uint8Array): Promise<Uint8Array | null>;
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
}
|
|
399
|
-
declare module "babylonjs-ktx2decoder/Transcoders/liteTranscoder_UASTC_RGBA_UNORM" {
|
|
400
|
-
import { sourceTextureFormat, transcodeTarget } from "babylonjs-ktx2decoder/transcoder";
|
|
401
|
-
import { LiteTranscoder } from "babylonjs-ktx2decoder/Transcoders/liteTranscoder";
|
|
402
|
-
import { KTX2FileReader, IKTX2_ImageDesc } from "babylonjs-ktx2decoder/ktx2FileReader";
|
|
403
|
-
/**
|
|
404
|
-
* @hidden
|
|
405
|
-
*/
|
|
406
|
-
export class LiteTranscoder_UASTC_RGBA_UNORM extends LiteTranscoder {
|
|
407
|
-
/**
|
|
408
|
-
* URL to use when loading the wasm module for the transcoder (unorm)
|
|
409
|
-
*/
|
|
410
|
-
static WasmModuleURL: string;
|
|
411
|
-
static CanTranscode(src: sourceTextureFormat, dst: transcodeTarget, isInGammaSpace: boolean): boolean;
|
|
412
|
-
static Name: string;
|
|
413
|
-
getName(): string;
|
|
414
|
-
initialize(): void;
|
|
415
|
-
transcode(src: sourceTextureFormat, dst: transcodeTarget, level: number, width: number, height: number, uncompressedByteLength: number, ktx2Reader: KTX2FileReader, imageDesc: IKTX2_ImageDesc | null, encodedData: Uint8Array): Promise<Uint8Array | null>;
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
}
|
|
419
|
-
declare module "babylonjs-ktx2decoder/Transcoders/liteTranscoder" {
|
|
420
|
-
import { Transcoder, sourceTextureFormat, transcodeTarget } from "babylonjs-ktx2decoder/transcoder";
|
|
421
|
-
import { WASMMemoryManager } from "babylonjs-ktx2decoder/wasmMemoryManager";
|
|
422
|
-
import { KTX2FileReader, IKTX2_ImageDesc } from "babylonjs-ktx2decoder/ktx2FileReader";
|
|
423
|
-
/**
|
|
424
|
-
* @hidden
|
|
425
|
-
*/
|
|
426
|
-
export class LiteTranscoder extends Transcoder {
|
|
427
|
-
private _modulePath;
|
|
428
|
-
private _modulePromise;
|
|
429
|
-
private _memoryManager;
|
|
430
|
-
protected _transcodeInPlace: boolean;
|
|
431
|
-
protected _loadModule(): Promise<{
|
|
432
|
-
module: any;
|
|
433
|
-
}>;
|
|
434
|
-
protected get memoryManager(): WASMMemoryManager;
|
|
435
|
-
protected setModulePath(modulePath: string): void;
|
|
436
|
-
initialize(): void;
|
|
437
|
-
needMemoryManager(): boolean;
|
|
438
|
-
setMemoryManager(memoryMgr: WASMMemoryManager): void;
|
|
439
|
-
transcode(src: sourceTextureFormat, dst: transcodeTarget, level: number, width: number, height: number, uncompressedByteLength: number, ktx2Reader: KTX2FileReader, imageDesc: IKTX2_ImageDesc | null, encodedData: Uint8Array): Promise<Uint8Array | null>;
|
|
440
|
-
protected _prepareTranscoding(width: number, height: number, uncompressedByteLength: number, encodedData: Uint8Array, forceRGBA?: boolean): [Uint8Array, Uint8Array | null, number];
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
}
|
|
444
|
-
declare module "babylonjs-ktx2decoder/Transcoders/mscTranscoder" {
|
|
445
|
-
import { Transcoder, sourceTextureFormat, transcodeTarget } from "babylonjs-ktx2decoder/transcoder";
|
|
446
|
-
import { KTX2FileReader, IKTX2_ImageDesc } from "babylonjs-ktx2decoder/ktx2FileReader";
|
|
447
|
-
/**
|
|
448
|
-
* @hidden
|
|
449
|
-
*/
|
|
450
|
-
export class MSCTranscoder extends Transcoder {
|
|
451
|
-
/**
|
|
452
|
-
* URL to use when loading the MSC transcoder
|
|
453
|
-
*/
|
|
454
|
-
static JSModuleURL: string;
|
|
455
|
-
/**
|
|
456
|
-
* URL to use when loading the wasm module for the transcoder
|
|
457
|
-
*/
|
|
458
|
-
static WasmModuleURL: string;
|
|
459
|
-
static UseFromWorkerThread: boolean;
|
|
460
|
-
static Name: string;
|
|
461
|
-
getName(): string;
|
|
462
|
-
private _mscBasisTranscoderPromise;
|
|
463
|
-
private _mscBasisModule;
|
|
464
|
-
private _getMSCBasisTranscoder;
|
|
465
|
-
static CanTranscode(src: sourceTextureFormat, dst: transcodeTarget, isInGammaSpace: boolean): boolean;
|
|
466
|
-
transcode(src: sourceTextureFormat, dst: transcodeTarget, level: number, width: number, height: number, uncompressedByteLength: number, ktx2Reader: KTX2FileReader, imageDesc: IKTX2_ImageDesc | null, encodedData: Uint8Array): Promise<Uint8Array | null>;
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
}
|
|
470
|
-
declare module "babylonjs-ktx2decoder/wasmMemoryManager" {
|
|
471
|
-
/**
|
|
472
|
-
* @hidden
|
|
473
|
-
*/
|
|
474
|
-
export class WASMMemoryManager {
|
|
475
|
-
static LoadBinariesFromCurrentThread: boolean;
|
|
476
|
-
static InitialMemoryPages: number;
|
|
477
|
-
private static _RequestId;
|
|
478
|
-
static LoadWASM(path: string): Promise<ArrayBuffer>;
|
|
479
|
-
private _memory;
|
|
480
|
-
private _numPages;
|
|
481
|
-
private _memoryView;
|
|
482
|
-
private _memoryViewByteLength;
|
|
483
|
-
private _memoryViewOffset;
|
|
484
|
-
constructor(initialMemoryPages?: number);
|
|
485
|
-
get wasmMemory(): WebAssembly.Memory;
|
|
486
|
-
getMemoryView(numPages: number, offset?: number, byteLength?: number): Uint8Array;
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
}
|
|
490
|
-
declare module "babylonjs-ktx2decoder/zstddec" {
|
|
491
|
-
/**
|
|
492
|
-
* ZSTD (Zstandard) decoder.
|
|
493
|
-
*/
|
|
494
|
-
export class ZSTDDecoder {
|
|
495
|
-
static WasmModuleURL: string;
|
|
496
|
-
init(): Promise<void>;
|
|
497
|
-
_init(result: WebAssembly.WebAssemblyInstantiatedSource): void;
|
|
498
|
-
decode(array: Uint8Array, uncompressedSize?: number): Uint8Array;
|
|
499
|
-
}
|
|
500
|
-
/**
|
|
501
|
-
* BSD License
|
|
502
|
-
*
|
|
503
|
-
* For Zstandard software
|
|
504
|
-
*
|
|
505
|
-
* Copyright (c) 2016-present, Yann Collet, Facebook, Inc. All rights reserved.
|
|
506
|
-
*
|
|
507
|
-
* Redistribution and use in source and binary forms, with or without modification,
|
|
508
|
-
* are permitted provided that the following conditions are met:
|
|
509
|
-
*
|
|
510
|
-
* * Redistributions of source code must retain the above copyright notice, this
|
|
511
|
-
* list of conditions and the following disclaimer.
|
|
512
|
-
*
|
|
513
|
-
* * Redistributions in binary form must reproduce the above copyright notice,
|
|
514
|
-
* this list of conditions and the following disclaimer in the documentation
|
|
515
|
-
* and/or other materials provided with the distribution.
|
|
516
|
-
*
|
|
517
|
-
* * Neither the name Facebook nor the names of its contributors may be used to
|
|
518
|
-
* endorse or promote products derived from this software without specific
|
|
519
|
-
* prior written permission.
|
|
520
|
-
*
|
|
521
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
522
|
-
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
523
|
-
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
524
|
-
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
525
|
-
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
526
|
-
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
527
|
-
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
528
|
-
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
529
|
-
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
530
|
-
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
531
|
-
*/
|
|
532
|
-
|
|
533
|
-
}
|
|
534
|
-
|
|
535
|
-
declare module "babylonjs-ktx2decoder" {
|
|
536
|
-
export * from "babylonjs-ktx2decoder/legacy/legacy";
|
|
537
|
-
}
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
declare module KTX2DECODER {
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
/**
|
|
544
|
* Resources used for the implementation:
|
|
545
1
|
* - 3js KTX2 loader: https://github.com/mrdoob/three.js/blob/dfb5c23ce126ec845e4aa240599915fef5375797/examples/jsm/loaders/KTX2Loader.js
|
|
546
2
|
* - Universal Texture Transcoders: https://github.com/KhronosGroup/Universal-Texture-Transcoders
|
|
547
3
|
* - KTX2 specification: http://github.khronos.org/KTX-Specification/
|
|
548
4
|
* - KTX2 binaries to convert files: https://github.com/KhronosGroup/KTX-Software/releases
|
|
549
5
|
* - KTX specification: https://www.khronos.org/registry/DataFormat/specs/1.3/dataformat.1.3.html
|
|
550
6
|
* - KTX-Software: https://github.com/KhronosGroup/KTX-Software
|
|
551
7
|
*/
|
|
552
8
|
export interface IDecodedData {
|
|
553
9
|
width: number;
|
|
554
10
|
height: number;
|
|
555
11
|
transcodedFormat: number;
|
|
556
12
|
mipmaps: Array<IMipmap>;
|
|
557
13
|
isInGammaSpace: boolean;
|
|
558
14
|
hasAlpha: boolean;
|
|
559
15
|
errors?: string;
|
|
560
16
|
transcoderName?: string;
|
|
561
17
|
}
|
|
562
18
|
export interface IMipmap {
|
|
563
19
|
data: Uint8Array | null;
|
|
564
20
|
width: number;
|
|
565
21
|
height: number;
|
|
566
22
|
}
|
|
567
23
|
export interface ICompressedFormatCapabilities {
|
|
568
24
|
astc?: boolean;
|
|
569
25
|
bptc?: boolean;
|
|
570
26
|
s3tc?: boolean;
|
|
571
27
|
pvrtc?: boolean;
|
|
572
28
|
etc2?: boolean;
|
|
573
29
|
etc1?: boolean;
|
|
574
30
|
}
|
|
575
31
|
export interface IKTX2DecoderOptions {
|
|
576
32
|
/** use RGBA format if ASTC and BC7 are not available as transcoded format */
|
|
577
33
|
useRGBAIfASTCBC7NotAvailableWhenUASTC?: boolean;
|
|
578
34
|
/** force to always use RGBA for transcoded format */
|
|
579
35
|
forceRGBA?: boolean;
|
|
580
36
|
/**
|
|
581
37
|
* list of transcoders to bypass when looking for a suitable transcoder. The available transcoders are:
|
|
582
38
|
* UniversalTranscoder_UASTC_ASTC
|
|
583
39
|
* UniversalTranscoder_UASTC_BC7
|
|
584
40
|
* UniversalTranscoder_UASTC_RGBA_UNORM
|
|
585
41
|
* UniversalTranscoder_UASTC_RGBA_SRGB
|
|
586
42
|
* MSCTranscoder
|
|
587
43
|
*/
|
|
588
44
|
bypassTranscoders?: string[];
|
|
589
45
|
}
|
|
590
46
|
/**
|
|
591
47
|
* Class for decoding KTX2 files
|
|
592
48
|
*
|
|
593
49
|
*/
|
|
594
50
|
export class KTX2Decoder {
|
|
595
51
|
private _transcoderMgr;
|
|
596
52
|
private _zstdDecoder;
|
|
597
53
|
constructor();
|
|
598
54
|
decode(data: Uint8Array, caps: ICompressedFormatCapabilities, options?: IKTX2DecoderOptions): Promise<IDecodedData | null>;
|
|
599
55
|
private _decodeData;
|
|
600
56
|
}
|
|
601
|
-
|
|
602
|
-
/** @hidden */
|
|
603
57
|
export enum SupercompressionScheme {
|
|
604
58
|
None = 0,
|
|
605
59
|
BasisLZ = 1,
|
|
606
60
|
ZStandard = 2,
|
|
607
61
|
ZLib = 3
|
|
608
62
|
}
|
|
609
63
|
/** @hidden */
|
|
610
64
|
export interface IKTX2_Header {
|
|
611
65
|
vkFormat: number;
|
|
612
66
|
typeSize: number;
|
|
613
67
|
pixelWidth: number;
|
|
614
68
|
pixelHeight: number;
|
|
615
69
|
pixelDepth: number;
|
|
616
70
|
layerCount: number;
|
|
617
71
|
faceCount: number;
|
|
618
72
|
levelCount: number;
|
|
619
73
|
supercompressionScheme: number;
|
|
620
74
|
dfdByteOffset: number;
|
|
621
75
|
dfdByteLength: number;
|
|
622
76
|
kvdByteOffset: number;
|
|
623
77
|
kvdByteLength: number;
|
|
624
78
|
sgdByteOffset: number;
|
|
625
79
|
sgdByteLength: number;
|
|
626
80
|
}
|
|
627
81
|
/** @hidden */
|
|
628
82
|
export interface IKTX2_Level {
|
|
629
83
|
byteOffset: number;
|
|
630
84
|
byteLength: number;
|
|
631
85
|
uncompressedByteLength: number;
|
|
632
86
|
}
|
|
633
87
|
interface IKTX2_Sample {
|
|
634
88
|
bitOffset: number;
|
|
635
89
|
bitLength: number;
|
|
636
90
|
channelType: number;
|
|
637
91
|
channelFlags: number;
|
|
638
92
|
samplePosition: number[];
|
|
639
93
|
sampleLower: number;
|
|
640
94
|
sampleUpper: number;
|
|
641
95
|
}
|
|
642
96
|
/** @hidden */
|
|
643
97
|
export interface IKTX2_DFD {
|
|
644
98
|
vendorId: number;
|
|
645
99
|
descriptorType: number;
|
|
646
100
|
versionNumber: number;
|
|
647
101
|
descriptorBlockSize: number;
|
|
648
102
|
colorModel: number;
|
|
649
103
|
colorPrimaries: number;
|
|
650
104
|
transferFunction: number;
|
|
651
105
|
flags: number;
|
|
652
106
|
texelBlockDimension: {
|
|
653
107
|
x: number;
|
|
654
108
|
y: number;
|
|
655
109
|
z: number;
|
|
656
110
|
w: number;
|
|
657
111
|
};
|
|
658
112
|
bytesPlane: Array<number>;
|
|
659
113
|
numSamples: number;
|
|
660
114
|
samples: Array<IKTX2_Sample>;
|
|
661
115
|
}
|
|
662
116
|
/** @hidden */
|
|
663
117
|
export interface IKTX2_ImageDesc {
|
|
664
118
|
imageFlags: number;
|
|
665
119
|
rgbSliceByteOffset: number;
|
|
666
120
|
rgbSliceByteLength: number;
|
|
667
121
|
alphaSliceByteOffset: number;
|
|
668
122
|
alphaSliceByteLength: number;
|
|
669
123
|
}
|
|
670
124
|
/** @hidden */
|
|
671
125
|
export interface IKTX2_SupercompressionGlobalData {
|
|
672
126
|
endpointCount?: number;
|
|
673
127
|
selectorCount?: number;
|
|
674
128
|
endpointsByteLength?: number;
|
|
675
129
|
selectorsByteLength?: number;
|
|
676
130
|
tablesByteLength?: number;
|
|
677
131
|
extendedByteLength?: number;
|
|
678
132
|
imageDescs?: Array<IKTX2_ImageDesc>;
|
|
679
133
|
endpointsData?: Uint8Array;
|
|
680
134
|
selectorsData?: Uint8Array;
|
|
681
135
|
tablesData?: Uint8Array;
|
|
682
136
|
extendedData?: Uint8Array;
|
|
683
137
|
}
|
|
684
138
|
export class KTX2FileReader {
|
|
685
139
|
private _data;
|
|
686
140
|
private _header;
|
|
687
141
|
private _levels;
|
|
688
142
|
private _dfdBlock;
|
|
689
143
|
private _supercompressionGlobalData;
|
|
690
144
|
/**
|
|
691
145
|
* Will throw an exception if the file can't be parsed
|
|
692
146
|
* @param data
|
|
693
147
|
*/
|
|
694
148
|
constructor(data: Uint8Array);
|
|
695
149
|
get data(): Uint8Array;
|
|
696
150
|
get header(): IKTX2_Header;
|
|
697
151
|
get levels(): Array<IKTX2_Level>;
|
|
698
152
|
get dfdBlock(): IKTX2_DFD;
|
|
699
153
|
get supercompressionGlobalData(): IKTX2_SupercompressionGlobalData;
|
|
700
154
|
isValid(): boolean;
|
|
701
155
|
parse(): void;
|
|
702
156
|
private _getImageCount;
|
|
703
157
|
get textureFormat(): sourceTextureFormat;
|
|
704
158
|
get hasAlpha(): boolean;
|
|
705
159
|
get needZSTDDecoder(): boolean;
|
|
706
160
|
get isInGammaSpace(): boolean;
|
|
707
161
|
static IsValid(data: ArrayBufferView): boolean;
|
|
708
162
|
}
|
|
709
|
-
|
|
710
|
-
/**
|
|
711
163
|
* Utility class for reading from a data buffer
|
|
712
164
|
*/
|
|
713
165
|
export class DataReader {
|
|
714
166
|
/**
|
|
715
167
|
* The current byte offset from the beginning of the data buffer.
|
|
716
168
|
*/
|
|
717
169
|
get byteOffset(): number;
|
|
718
170
|
private _dataView;
|
|
719
171
|
private _dataByteOffset;
|
|
720
172
|
/**
|
|
721
173
|
* Constructor
|
|
722
174
|
* @param buffer The buffer to set
|
|
723
175
|
* @param byteOffset The starting offset in the buffer
|
|
724
176
|
* @param byteLength The byte length of the buffer
|
|
725
177
|
*/
|
|
726
178
|
constructor(buffer: ArrayBuffer | ArrayBufferView, byteOffset?: number, byteLength?: number);
|
|
727
179
|
/**
|
|
728
180
|
* Read a unsigned 8-bit integer from the currently loaded data range.
|
|
729
181
|
* @returns The 8-bit integer read
|
|
730
182
|
*/
|
|
731
183
|
readUint8(): number;
|
|
732
184
|
/**
|
|
733
185
|
* Read a signed 8-bit integer from the currently loaded data range.
|
|
734
186
|
* @returns The 8-bit integer read
|
|
735
187
|
*/
|
|
736
188
|
readInt8(): number;
|
|
737
189
|
/**
|
|
738
190
|
* Read a unsigned 16-bit integer from the currently loaded data range.
|
|
739
191
|
* @returns The 16-bit integer read
|
|
740
192
|
*/
|
|
741
193
|
readUint16(): number;
|
|
742
194
|
/**
|
|
743
195
|
* Read a signed 16-bit integer from the currently loaded data range.
|
|
744
196
|
* @returns The 16-bit integer read
|
|
745
197
|
*/
|
|
746
198
|
readInt16(): number;
|
|
747
199
|
/**
|
|
748
200
|
* Read a unsigned 32-bit integer from the currently loaded data range.
|
|
749
201
|
* @returns The 32-bit integer read
|
|
750
202
|
*/
|
|
751
203
|
readUint32(): number;
|
|
752
204
|
/**
|
|
753
205
|
* Read a signed 32-bit integer from the currently loaded data range.
|
|
754
206
|
* @returns The 32-bit integer read
|
|
755
207
|
*/
|
|
756
208
|
readInt32(): number;
|
|
757
209
|
/**
|
|
758
210
|
* Read a unsigned 32-bit integer from the currently loaded data range.
|
|
759
211
|
* @returns The 32-bit integer read
|
|
760
212
|
*/
|
|
761
213
|
readUint64(): number;
|
|
762
214
|
/**
|
|
763
215
|
* Read a byte array from the currently loaded data range.
|
|
764
216
|
* @param byteLength The byte length to read
|
|
765
217
|
* @returns The byte array read
|
|
766
218
|
*/
|
|
767
219
|
readUint8Array(byteLength: number): Uint8Array;
|
|
768
220
|
/**
|
|
769
221
|
* Skips the given byte length the currently loaded data range.
|
|
770
222
|
* @param byteLength The byte length to skip
|
|
771
223
|
* @returns This instance
|
|
772
224
|
*/
|
|
773
225
|
skipBytes(byteLength: number): this;
|
|
774
226
|
}
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
export class TranscodeDecisionTree {
|
|
779
227
|
private static _IsLeafNode;
|
|
780
228
|
private _hasAlpha;
|
|
781
229
|
private _isPowerOfTwo;
|
|
782
230
|
private _caps;
|
|
783
231
|
private _options;
|
|
784
232
|
private _transcodeFormat;
|
|
785
233
|
private _engineFormat;
|
|
786
234
|
private _roundToMultiple4;
|
|
787
235
|
get transcodeFormat(): number;
|
|
788
236
|
get engineFormat(): number;
|
|
789
237
|
get roundToMultiple4(): boolean;
|
|
790
238
|
constructor(textureFormat: sourceTextureFormat, hasAlpha: boolean, isPowerOfTwo: boolean, caps: any, options?: any);
|
|
791
239
|
private _parseNode;
|
|
792
240
|
}
|
|
793
|
-
|
|
794
|
-
/**
|
|
795
241
|
* @hidden
|
|
796
242
|
*/
|
|
797
243
|
export enum sourceTextureFormat {
|
|
798
244
|
ETC1S = 0,
|
|
799
245
|
UASTC4x4 = 1
|
|
800
246
|
}
|
|
801
247
|
/**
|
|
802
248
|
* @hidden
|
|
803
249
|
*/
|
|
804
250
|
export enum transcodeTarget {
|
|
805
251
|
ASTC_4x4_RGBA = 0,
|
|
806
252
|
BC7_RGBA = 1,
|
|
807
253
|
BC3_RGBA = 2,
|
|
808
254
|
BC1_RGB = 3,
|
|
809
255
|
PVRTC1_4_RGBA = 4,
|
|
810
256
|
PVRTC1_4_RGB = 5,
|
|
811
257
|
ETC2_RGBA = 6,
|
|
812
258
|
ETC1_RGB = 7,
|
|
813
259
|
RGBA32 = 8
|
|
814
260
|
}
|
|
815
261
|
/**
|
|
816
262
|
* @hidden
|
|
817
263
|
*/
|
|
818
264
|
export class Transcoder {
|
|
819
265
|
static CanTranscode(src: sourceTextureFormat, dst: transcodeTarget, isInGammaSpace: boolean): boolean;
|
|
820
266
|
static Name: string;
|
|
821
267
|
getName(): string;
|
|
822
268
|
initialize(): void;
|
|
823
269
|
needMemoryManager(): boolean;
|
|
824
270
|
setMemoryManager(memoryMgr: WASMMemoryManager): void;
|
|
825
271
|
transcode(src: sourceTextureFormat, dst: transcodeTarget, level: number, width: number, height: number, uncompressedByteLength: number, ktx2Reader: KTX2FileReader, imageDesc: IKTX2_ImageDesc | null, encodedData: Uint8Array): Promise<Uint8Array | null>;
|
|
826
272
|
}
|
|
827
|
-
|
|
828
|
-
/**
|
|
829
273
|
* @hidden
|
|
830
274
|
*/
|
|
831
275
|
export class TranscoderManager {
|
|
832
276
|
static _Transcoders: Array<typeof Transcoder>;
|
|
833
277
|
static RegisterTranscoder(transcoder: typeof Transcoder): void;
|
|
834
278
|
private static _TranscoderInstances;
|
|
835
279
|
private _wasmMemoryManager;
|
|
836
280
|
findTranscoder(src: sourceTextureFormat, dst: transcodeTarget, isInGammaSpace: boolean, bypass?: string[]): Transcoder | null;
|
|
837
281
|
private _getExistingTranscoder;
|
|
838
282
|
}
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
/**
|
|
843
283
|
* @hidden
|
|
844
284
|
*/
|
|
845
285
|
export class LiteTranscoder_UASTC_ASTC extends LiteTranscoder {
|
|
846
286
|
/**
|
|
847
287
|
* URL to use when loading the wasm module for the transcoder
|
|
848
288
|
*/
|
|
849
289
|
static WasmModuleURL: string;
|
|
850
290
|
static CanTranscode(src: sourceTextureFormat, dst: transcodeTarget, isInGammaSpace: boolean): boolean;
|
|
851
291
|
static Name: string;
|
|
852
292
|
getName(): string;
|
|
853
293
|
initialize(): void;
|
|
854
294
|
}
|
|
855
|
-
|
|
856
|
-
/**
|
|
857
295
|
* @hidden
|
|
858
296
|
*/
|
|
859
297
|
export class LiteTranscoder_UASTC_BC7 extends LiteTranscoder {
|
|
860
298
|
/**
|
|
861
299
|
* URL to use when loading the wasm module for the transcoder
|
|
862
300
|
*/
|
|
863
301
|
static WasmModuleURL: string;
|
|
864
302
|
static CanTranscode(src: sourceTextureFormat, dst: transcodeTarget, isInGammaSpace: boolean): boolean;
|
|
865
303
|
static Name: string;
|
|
866
304
|
getName(): string;
|
|
867
305
|
initialize(): void;
|
|
868
306
|
}
|
|
869
|
-
|
|
870
|
-
/**
|
|
871
307
|
* @hidden
|
|
872
308
|
*/
|
|
873
309
|
export class LiteTranscoder_UASTC_RGBA_SRGB extends LiteTranscoder {
|
|
874
310
|
/**
|
|
875
311
|
* URL to use when loading the wasm module for the transcoder (srgb)
|
|
876
312
|
*/
|
|
877
313
|
static WasmModuleURL: string;
|
|
878
314
|
static CanTranscode(src: sourceTextureFormat, dst: transcodeTarget, isInGammaSpace: boolean): boolean;
|
|
879
315
|
static Name: string;
|
|
880
316
|
getName(): string;
|
|
881
317
|
initialize(): void;
|
|
882
318
|
transcode(src: sourceTextureFormat, dst: transcodeTarget, level: number, width: number, height: number, uncompressedByteLength: number, ktx2Reader: KTX2FileReader, imageDesc: IKTX2_ImageDesc | null, encodedData: Uint8Array): Promise<Uint8Array | null>;
|
|
883
319
|
}
|
|
884
|
-
|
|
885
|
-
/**
|
|
886
320
|
* @hidden
|
|
887
321
|
*/
|
|
888
322
|
export class LiteTranscoder_UASTC_RGBA_UNORM extends LiteTranscoder {
|
|
889
323
|
/**
|
|
890
324
|
* URL to use when loading the wasm module for the transcoder (unorm)
|
|
891
325
|
*/
|
|
892
326
|
static WasmModuleURL: string;
|
|
893
327
|
static CanTranscode(src: sourceTextureFormat, dst: transcodeTarget, isInGammaSpace: boolean): boolean;
|
|
894
328
|
static Name: string;
|
|
895
329
|
getName(): string;
|
|
896
330
|
initialize(): void;
|
|
897
331
|
transcode(src: sourceTextureFormat, dst: transcodeTarget, level: number, width: number, height: number, uncompressedByteLength: number, ktx2Reader: KTX2FileReader, imageDesc: IKTX2_ImageDesc | null, encodedData: Uint8Array): Promise<Uint8Array | null>;
|
|
898
332
|
}
|
|
899
|
-
|
|
900
|
-
/**
|
|
901
333
|
* @hidden
|
|
902
334
|
*/
|
|
903
335
|
export class LiteTranscoder extends Transcoder {
|
|
904
336
|
private _modulePath;
|
|
905
337
|
private _modulePromise;
|
|
906
338
|
private _memoryManager;
|
|
907
339
|
protected _transcodeInPlace: boolean;
|
|
908
340
|
protected _loadModule(): Promise<{
|
|
909
341
|
module: any;
|
|
910
342
|
}>;
|
|
911
343
|
protected get memoryManager(): WASMMemoryManager;
|
|
912
344
|
protected setModulePath(modulePath: string): void;
|
|
913
345
|
initialize(): void;
|
|
914
346
|
needMemoryManager(): boolean;
|
|
915
347
|
setMemoryManager(memoryMgr: WASMMemoryManager): void;
|
|
916
348
|
transcode(src: sourceTextureFormat, dst: transcodeTarget, level: number, width: number, height: number, uncompressedByteLength: number, ktx2Reader: KTX2FileReader, imageDesc: IKTX2_ImageDesc | null, encodedData: Uint8Array): Promise<Uint8Array | null>;
|
|
917
349
|
protected _prepareTranscoding(width: number, height: number, uncompressedByteLength: number, encodedData: Uint8Array, forceRGBA?: boolean): [Uint8Array, Uint8Array | null, number];
|
|
918
350
|
}
|
|
919
|
-
|
|
920
|
-
/**
|
|
921
351
|
* @hidden
|
|
922
352
|
*/
|
|
923
353
|
export class MSCTranscoder extends Transcoder {
|
|
924
354
|
/**
|
|
925
355
|
* URL to use when loading the MSC transcoder
|
|
926
356
|
*/
|
|
927
357
|
static JSModuleURL: string;
|
|
928
358
|
/**
|
|
929
359
|
* URL to use when loading the wasm module for the transcoder
|
|
930
360
|
*/
|
|
931
361
|
static WasmModuleURL: string;
|
|
932
362
|
static UseFromWorkerThread: boolean;
|
|
933
363
|
static Name: string;
|
|
934
364
|
getName(): string;
|
|
935
365
|
private _mscBasisTranscoderPromise;
|
|
936
366
|
private _mscBasisModule;
|
|
937
367
|
private _getMSCBasisTranscoder;
|
|
938
368
|
static CanTranscode(src: sourceTextureFormat, dst: transcodeTarget, isInGammaSpace: boolean): boolean;
|
|
939
369
|
transcode(src: sourceTextureFormat, dst: transcodeTarget, level: number, width: number, height: number, uncompressedByteLength: number, ktx2Reader: KTX2FileReader, imageDesc: IKTX2_ImageDesc | null, encodedData: Uint8Array): Promise<Uint8Array | null>;
|
|
940
370
|
}
|
|
941
|
-
|
|
942
|
-
/**
|
|
943
371
|
* @hidden
|
|
944
372
|
*/
|
|
945
373
|
export class WASMMemoryManager {
|
|
946
374
|
static LoadBinariesFromCurrentThread: boolean;
|
|
947
375
|
static InitialMemoryPages: number;
|
|
948
376
|
private static _RequestId;
|
|
949
377
|
static LoadWASM(path: string): Promise<ArrayBuffer>;
|
|
950
378
|
private _memory;
|
|
951
379
|
private _numPages;
|
|
952
380
|
private _memoryView;
|
|
953
381
|
private _memoryViewByteLength;
|
|
954
382
|
private _memoryViewOffset;
|
|
955
383
|
constructor(initialMemoryPages?: number);
|
|
956
384
|
get wasmMemory(): WebAssembly.Memory;
|
|
957
385
|
getMemoryView(numPages: number, offset?: number, byteLength?: number): Uint8Array;
|
|
958
386
|
}
|
|
959
|
-
|
|
960
|
-
/**
|
|
961
387
|
* ZSTD (Zstandard) decoder.
|
|
962
388
|
*/
|
|
963
389
|
export class ZSTDDecoder {
|
|
964
390
|
static WasmModuleURL: string;
|
|
965
391
|
init(): Promise<void>;
|
|
966
392
|
_init(result: WebAssembly.WebAssemblyInstantiatedSource): void;
|
|
967
393
|
decode(array: Uint8Array, uncompressedSize?: number): Uint8Array;
|
|
968
394
|
}
|
|
969
395
|
/**
|
|
970
396
|
* BSD License
|
|
971
397
|
*
|
|
972
398
|
* For Zstandard software
|
|
973
399
|
*
|
|
974
400
|
* Copyright (c) 2016-present, Yann Collet, Facebook, Inc. All rights reserved.
|
|
975
401
|
*
|
|
976
402
|
* Redistribution and use in source and binary forms, with or without modification,
|
|
977
403
|
* are permitted provided that the following conditions are met:
|
|
978
404
|
*
|
|
979
405
|
* * Redistributions of source code must retain the above copyright notice, this
|
|
980
406
|
* list of conditions and the following disclaimer.
|
|
981
407
|
*
|
|
982
408
|
* * Redistributions in binary form must reproduce the above copyright notice,
|
|
983
409
|
* this list of conditions and the following disclaimer in the documentation
|
|
984
410
|
* and/or other materials provided with the distribution.
|
|
985
411
|
*
|
|
986
412
|
* * Neither the name Facebook nor the names of its contributors may be used to
|
|
987
413
|
* endorse or promote products derived from this software without specific
|
|
988
414
|
* prior written permission.
|
|
989
415
|
*
|
|
990
416
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
991
417
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
992
418
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
993
419
|
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
994
420
|
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
995
421
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
996
422
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
997
423
|
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
998
424
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
999
425
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1000
426
|
*/
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
}
|
|
1004
|
-
|
|
1005
|
-
|