This commit is contained in:
Akko
2025-08-04 18:57:35 +02:00
parent 8cf6e78a79
commit 9495868c2e
5030 changed files with 518594 additions and 17609 deletions

View File

@@ -0,0 +1,99 @@
import type { TEXTURE_FORMATS } from '../../rendering/renderers/shared/texture/const';
export declare enum GL_INTERNAL_FORMAT {
RGBA8_SNORM = 36759,
RGBA = 6408,
RGBA8UI = 36220,
SRGB8_ALPHA8 = 35907,
RGBA8I = 36238,
RGBA8 = 32856,
COMPRESSED_RGB_S3TC_DXT1_EXT = 33776,
COMPRESSED_RGBA_S3TC_DXT1_EXT = 33777,
COMPRESSED_RGBA_S3TC_DXT3_EXT = 33778,
COMPRESSED_RGBA_S3TC_DXT5_EXT = 33779,
COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 35917,
COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 35918,
COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 35919,
COMPRESSED_SRGB_S3TC_DXT1_EXT = 35916,
COMPRESSED_RED_RGTC1_EXT = 36283,
COMPRESSED_SIGNED_RED_RGTC1_EXT = 36284,
COMPRESSED_RED_GREEN_RGTC2_EXT = 36285,
COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 36286,
COMPRESSED_R11_EAC = 37488,
COMPRESSED_SIGNED_R11_EAC = 37489,
COMPRESSED_RG11_EAC = 37490,
COMPRESSED_SIGNED_RG11_EAC = 37491,
COMPRESSED_RGB8_ETC2 = 37492,
COMPRESSED_RGBA8_ETC2_EAC = 37496,
COMPRESSED_SRGB8_ETC2 = 37493,
COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 37497,
COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37494,
COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37495,
COMPRESSED_RGBA_ASTC_4x4_KHR = 37808,
COMPRESSED_RGBA_ASTC_5x4_KHR = 37809,
COMPRESSED_RGBA_ASTC_5x5_KHR = 37810,
COMPRESSED_RGBA_ASTC_6x5_KHR = 37811,
COMPRESSED_RGBA_ASTC_6x6_KHR = 37812,
COMPRESSED_RGBA_ASTC_8x5_KHR = 37813,
COMPRESSED_RGBA_ASTC_8x6_KHR = 37814,
COMPRESSED_RGBA_ASTC_8x8_KHR = 37815,
COMPRESSED_RGBA_ASTC_10x5_KHR = 37816,
COMPRESSED_RGBA_ASTC_10x6_KHR = 37817,
COMPRESSED_RGBA_ASTC_10x8_KHR = 37818,
COMPRESSED_RGBA_ASTC_10x10_KHR = 37819,
COMPRESSED_RGBA_ASTC_12x10_KHR = 37820,
COMPRESSED_RGBA_ASTC_12x12_KHR = 37821,
COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 37840,
COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 37841,
COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 37842,
COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 37843,
COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 37844,
COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 37845,
COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 37846,
COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 37847,
COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 37848,
COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 37849,
COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 37850,
COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 37851,
COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 37852,
COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 37853,
COMPRESSED_RGBA_BPTC_UNORM_EXT = 36492,
COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT = 36493,
COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT = 36494,
COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT = 36495
}
export declare const KTX: {
FILE_HEADER_SIZE: number;
FILE_IDENTIFIER: number[];
FORMATS_TO_COMPONENTS: {
[id: number]: number;
};
INTERNAL_FORMAT_TO_BYTES_PER_PIXEL: {
[id: number]: number;
};
INTERNAL_FORMAT_TO_TEXTURE_FORMATS: {
[id: number]: TEXTURE_FORMATS;
};
FIELDS: {
FILE_IDENTIFIER: number;
ENDIANNESS: number;
GL_TYPE: number;
GL_TYPE_SIZE: number;
GL_FORMAT: number;
GL_INTERNAL_FORMAT: number;
GL_BASE_INTERNAL_FORMAT: number;
PIXEL_WIDTH: number;
PIXEL_HEIGHT: number;
PIXEL_DEPTH: number;
NUMBER_OF_ARRAY_ELEMENTS: number;
NUMBER_OF_FACES: number;
NUMBER_OF_MIPMAP_LEVELS: number;
BYTES_OF_KEY_VALUE_DATA: number;
};
TYPES_TO_BYTES_PER_COMPONENT: {
[id: number]: number;
};
TYPES_TO_BYTES_PER_PIXEL: {
[id: number]: number;
};
ENDIANNESS: number;
};

View File

@@ -0,0 +1,277 @@
'use strict';
"use strict";
var GL_INTERNAL_FORMAT = /* @__PURE__ */ ((GL_INTERNAL_FORMAT2) => {
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["RGBA8_SNORM"] = 36759] = "RGBA8_SNORM";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["RGBA"] = 6408] = "RGBA";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["RGBA8UI"] = 36220] = "RGBA8UI";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["SRGB8_ALPHA8"] = 35907] = "SRGB8_ALPHA8";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["RGBA8I"] = 36238] = "RGBA8I";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["RGBA8"] = 32856] = "RGBA8";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGB_S3TC_DXT1_EXT"] = 33776] = "COMPRESSED_RGB_S3TC_DXT1_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_S3TC_DXT1_EXT"] = 33777] = "COMPRESSED_RGBA_S3TC_DXT1_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_S3TC_DXT3_EXT"] = 33778] = "COMPRESSED_RGBA_S3TC_DXT3_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_S3TC_DXT5_EXT"] = 33779] = "COMPRESSED_RGBA_S3TC_DXT5_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT"] = 35917] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT"] = 35918] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"] = 35919] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB_S3TC_DXT1_EXT"] = 35916] = "COMPRESSED_SRGB_S3TC_DXT1_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RED_RGTC1_EXT"] = 36283] = "COMPRESSED_RED_RGTC1_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SIGNED_RED_RGTC1_EXT"] = 36284] = "COMPRESSED_SIGNED_RED_RGTC1_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RED_GREEN_RGTC2_EXT"] = 36285] = "COMPRESSED_RED_GREEN_RGTC2_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT"] = 36286] = "COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_R11_EAC"] = 37488] = "COMPRESSED_R11_EAC";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SIGNED_R11_EAC"] = 37489] = "COMPRESSED_SIGNED_R11_EAC";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RG11_EAC"] = 37490] = "COMPRESSED_RG11_EAC";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SIGNED_RG11_EAC"] = 37491] = "COMPRESSED_SIGNED_RG11_EAC";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGB8_ETC2"] = 37492] = "COMPRESSED_RGB8_ETC2";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA8_ETC2_EAC"] = 37496] = "COMPRESSED_RGBA8_ETC2_EAC";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ETC2"] = 37493] = "COMPRESSED_SRGB8_ETC2";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"] = 37497] = "COMPRESSED_SRGB8_ALPHA8_ETC2_EAC";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"] = 37494] = "COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"] = 37495] = "COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_4x4_KHR"] = 37808] = "COMPRESSED_RGBA_ASTC_4x4_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_5x4_KHR"] = 37809] = "COMPRESSED_RGBA_ASTC_5x4_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_5x5_KHR"] = 37810] = "COMPRESSED_RGBA_ASTC_5x5_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_6x5_KHR"] = 37811] = "COMPRESSED_RGBA_ASTC_6x5_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_6x6_KHR"] = 37812] = "COMPRESSED_RGBA_ASTC_6x6_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_8x5_KHR"] = 37813] = "COMPRESSED_RGBA_ASTC_8x5_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_8x6_KHR"] = 37814] = "COMPRESSED_RGBA_ASTC_8x6_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_8x8_KHR"] = 37815] = "COMPRESSED_RGBA_ASTC_8x8_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_10x5_KHR"] = 37816] = "COMPRESSED_RGBA_ASTC_10x5_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_10x6_KHR"] = 37817] = "COMPRESSED_RGBA_ASTC_10x6_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_10x8_KHR"] = 37818] = "COMPRESSED_RGBA_ASTC_10x8_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_10x10_KHR"] = 37819] = "COMPRESSED_RGBA_ASTC_10x10_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_12x10_KHR"] = 37820] = "COMPRESSED_RGBA_ASTC_12x10_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_12x12_KHR"] = 37821] = "COMPRESSED_RGBA_ASTC_12x12_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"] = 37840] = "COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"] = 37841] = "COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"] = 37842] = "COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"] = 37843] = "COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"] = 37844] = "COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"] = 37845] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"] = 37846] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"] = 37847] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"] = 37848] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"] = 37849] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"] = 37850] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"] = 37851] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"] = 37852] = "COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"] = 37853] = "COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_BPTC_UNORM_EXT"] = 36492] = "COMPRESSED_RGBA_BPTC_UNORM_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT"] = 36493] = "COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT"] = 36494] = "COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT"] = 36495] = "COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT";
return GL_INTERNAL_FORMAT2;
})(GL_INTERNAL_FORMAT || {});
var GL_FORMATS = /* @__PURE__ */ ((GL_FORMATS2) => {
GL_FORMATS2[GL_FORMATS2["RGBA"] = 6408] = "RGBA";
GL_FORMATS2[GL_FORMATS2["RGB"] = 6407] = "RGB";
GL_FORMATS2[GL_FORMATS2["RG"] = 33319] = "RG";
GL_FORMATS2[GL_FORMATS2["RED"] = 6403] = "RED";
GL_FORMATS2[GL_FORMATS2["RGBA_INTEGER"] = 36249] = "RGBA_INTEGER";
GL_FORMATS2[GL_FORMATS2["RGB_INTEGER"] = 36248] = "RGB_INTEGER";
GL_FORMATS2[GL_FORMATS2["RG_INTEGER"] = 33320] = "RG_INTEGER";
GL_FORMATS2[GL_FORMATS2["RED_INTEGER"] = 36244] = "RED_INTEGER";
GL_FORMATS2[GL_FORMATS2["ALPHA"] = 6406] = "ALPHA";
GL_FORMATS2[GL_FORMATS2["LUMINANCE"] = 6409] = "LUMINANCE";
GL_FORMATS2[GL_FORMATS2["LUMINANCE_ALPHA"] = 6410] = "LUMINANCE_ALPHA";
GL_FORMATS2[GL_FORMATS2["DEPTH_COMPONENT"] = 6402] = "DEPTH_COMPONENT";
GL_FORMATS2[GL_FORMATS2["DEPTH_STENCIL"] = 34041] = "DEPTH_STENCIL";
return GL_FORMATS2;
})(GL_FORMATS || {});
var GL_TYPES = /* @__PURE__ */ ((GL_TYPES2) => {
GL_TYPES2[GL_TYPES2["UNSIGNED_BYTE"] = 5121] = "UNSIGNED_BYTE";
GL_TYPES2[GL_TYPES2["UNSIGNED_SHORT"] = 5123] = "UNSIGNED_SHORT";
GL_TYPES2[GL_TYPES2["UNSIGNED_SHORT_5_6_5"] = 33635] = "UNSIGNED_SHORT_5_6_5";
GL_TYPES2[GL_TYPES2["UNSIGNED_SHORT_4_4_4_4"] = 32819] = "UNSIGNED_SHORT_4_4_4_4";
GL_TYPES2[GL_TYPES2["UNSIGNED_SHORT_5_5_5_1"] = 32820] = "UNSIGNED_SHORT_5_5_5_1";
GL_TYPES2[GL_TYPES2["UNSIGNED_INT"] = 5125] = "UNSIGNED_INT";
GL_TYPES2[GL_TYPES2["UNSIGNED_INT_10F_11F_11F_REV"] = 35899] = "UNSIGNED_INT_10F_11F_11F_REV";
GL_TYPES2[GL_TYPES2["UNSIGNED_INT_2_10_10_10_REV"] = 33640] = "UNSIGNED_INT_2_10_10_10_REV";
GL_TYPES2[GL_TYPES2["UNSIGNED_INT_24_8"] = 34042] = "UNSIGNED_INT_24_8";
GL_TYPES2[GL_TYPES2["UNSIGNED_INT_5_9_9_9_REV"] = 35902] = "UNSIGNED_INT_5_9_9_9_REV";
GL_TYPES2[GL_TYPES2["BYTE"] = 5120] = "BYTE";
GL_TYPES2[GL_TYPES2["SHORT"] = 5122] = "SHORT";
GL_TYPES2[GL_TYPES2["INT"] = 5124] = "INT";
GL_TYPES2[GL_TYPES2["FLOAT"] = 5126] = "FLOAT";
GL_TYPES2[GL_TYPES2["FLOAT_32_UNSIGNED_INT_24_8_REV"] = 36269] = "FLOAT_32_UNSIGNED_INT_24_8_REV";
GL_TYPES2[GL_TYPES2["HALF_FLOAT"] = 36193] = "HALF_FLOAT";
return GL_TYPES2;
})(GL_TYPES || {});
const INTERNAL_FORMAT_TO_TEXTURE_FORMATS = {
[33776 /* COMPRESSED_RGB_S3TC_DXT1_EXT */]: "bc1-rgba-unorm",
// TODO: ???
[33777 /* COMPRESSED_RGBA_S3TC_DXT1_EXT */]: "bc1-rgba-unorm",
[33778 /* COMPRESSED_RGBA_S3TC_DXT3_EXT */]: "bc2-rgba-unorm",
[33779 /* COMPRESSED_RGBA_S3TC_DXT5_EXT */]: "bc3-rgba-unorm",
[35916 /* COMPRESSED_SRGB_S3TC_DXT1_EXT */]: "bc1-rgba-unorm-srgb",
// TODO: ???
[35917 /* COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT */]: "bc1-rgba-unorm-srgb",
[35918 /* COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT */]: "bc2-rgba-unorm-srgb",
[35919 /* COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT */]: "bc3-rgba-unorm-srgb",
[36283 /* COMPRESSED_RED_RGTC1_EXT */]: "bc4-r-unorm",
[36284 /* COMPRESSED_SIGNED_RED_RGTC1_EXT */]: "bc4-r-snorm",
[36285 /* COMPRESSED_RED_GREEN_RGTC2_EXT */]: "bc5-rg-unorm",
[36286 /* COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT */]: "bc5-rg-snorm",
[37488 /* COMPRESSED_R11_EAC */]: "eac-r11unorm",
// [GL_INTERNAL_FORMAT.COMPRESSED_SIGNED_R11_EAC]: 'eac-r11snorm',
[37490 /* COMPRESSED_RG11_EAC */]: "eac-rg11snorm",
// [GL_INTERNAL_FORMAT.COMPRESSED_SIGNED_RG11_EAC]: 'eac-rg11unorm',
[37492 /* COMPRESSED_RGB8_ETC2 */]: "etc2-rgb8unorm",
[37496 /* COMPRESSED_RGBA8_ETC2_EAC */]: "etc2-rgba8unorm",
[37493 /* COMPRESSED_SRGB8_ETC2 */]: "etc2-rgb8unorm-srgb",
[37497 /* COMPRESSED_SRGB8_ALPHA8_ETC2_EAC */]: "etc2-rgba8unorm-srgb",
[37494 /* COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 */]: "etc2-rgb8a1unorm",
[37495 /* COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 */]: "etc2-rgb8a1unorm-srgb",
[37808 /* COMPRESSED_RGBA_ASTC_4x4_KHR */]: "astc-4x4-unorm",
[37840 /* COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR */]: "astc-4x4-unorm-srgb",
[37809 /* COMPRESSED_RGBA_ASTC_5x4_KHR */]: "astc-5x4-unorm",
[37841 /* COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR */]: "astc-5x4-unorm-srgb",
[37810 /* COMPRESSED_RGBA_ASTC_5x5_KHR */]: "astc-5x5-unorm",
[37842 /* COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR */]: "astc-5x5-unorm-srgb",
[37811 /* COMPRESSED_RGBA_ASTC_6x5_KHR */]: "astc-6x5-unorm",
[37843 /* COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR */]: "astc-6x5-unorm-srgb",
[37812 /* COMPRESSED_RGBA_ASTC_6x6_KHR */]: "astc-6x6-unorm",
[37844 /* COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR */]: "astc-6x6-unorm-srgb",
[37813 /* COMPRESSED_RGBA_ASTC_8x5_KHR */]: "astc-8x5-unorm",
[37845 /* COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR */]: "astc-8x5-unorm-srgb",
[37814 /* COMPRESSED_RGBA_ASTC_8x6_KHR */]: "astc-8x6-unorm",
[37846 /* COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR */]: "astc-8x6-unorm-srgb",
[37815 /* COMPRESSED_RGBA_ASTC_8x8_KHR */]: "astc-8x8-unorm",
[37847 /* COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR */]: "astc-8x8-unorm-srgb",
[37816 /* COMPRESSED_RGBA_ASTC_10x5_KHR */]: "astc-10x5-unorm",
[37848 /* COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR */]: "astc-10x5-unorm-srgb",
[37817 /* COMPRESSED_RGBA_ASTC_10x6_KHR */]: "astc-10x6-unorm",
[37849 /* COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR */]: "astc-10x6-unorm-srgb",
[37818 /* COMPRESSED_RGBA_ASTC_10x8_KHR */]: "astc-10x8-unorm",
[37850 /* COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR */]: "astc-10x8-unorm-srgb",
[37819 /* COMPRESSED_RGBA_ASTC_10x10_KHR */]: "astc-10x10-unorm",
[37851 /* COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR */]: "astc-10x10-unorm-srgb",
[37820 /* COMPRESSED_RGBA_ASTC_12x10_KHR */]: "astc-12x10-unorm",
[37852 /* COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR */]: "astc-12x10-unorm-srgb",
[37821 /* COMPRESSED_RGBA_ASTC_12x12_KHR */]: "astc-12x12-unorm",
[37853 /* COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR */]: "astc-12x12-unorm-srgb",
[36492 /* COMPRESSED_RGBA_BPTC_UNORM_EXT */]: "bc7-rgba-unorm",
[36493 /* COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT */]: "bc7-rgba-unorm-srgb",
[36494 /* COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT */]: "bc6h-rgb-float",
[36495 /* COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT */]: "bc6h-rgb-ufloat",
[35907 /* SRGB8_ALPHA8 */]: "rgba8unorm-srgb",
[36759 /* RGBA8_SNORM */]: "rgba8snorm",
[36220 /* RGBA8UI */]: "rgba8uint",
[36238 /* RGBA8I */]: "rgba8sint",
[6408 /* RGBA */]: "rgba8unorm"
// [GL_INTERNAL_FORMAT.RGBA8]: 'bgra8unorm'
};
const FILE_IDENTIFIER = [171, 75, 84, 88, 32, 49, 49, 187, 13, 10, 26, 10];
const FIELDS = {
FILE_IDENTIFIER: 0,
ENDIANNESS: 12,
GL_TYPE: 16,
GL_TYPE_SIZE: 20,
GL_FORMAT: 24,
GL_INTERNAL_FORMAT: 28,
GL_BASE_INTERNAL_FORMAT: 32,
PIXEL_WIDTH: 36,
PIXEL_HEIGHT: 40,
PIXEL_DEPTH: 44,
NUMBER_OF_ARRAY_ELEMENTS: 48,
NUMBER_OF_FACES: 52,
NUMBER_OF_MIPMAP_LEVELS: 56,
BYTES_OF_KEY_VALUE_DATA: 60
};
const FILE_HEADER_SIZE = 64;
const ENDIANNESS = 67305985;
const TYPES_TO_BYTES_PER_COMPONENT = {
[5121 /* UNSIGNED_BYTE */]: 1,
[5123 /* UNSIGNED_SHORT */]: 2,
[5124 /* INT */]: 4,
[5125 /* UNSIGNED_INT */]: 4,
[5126 /* FLOAT */]: 4,
[36193 /* HALF_FLOAT */]: 8
};
const FORMATS_TO_COMPONENTS = {
[6408 /* RGBA */]: 4,
[6407 /* RGB */]: 3,
[33319 /* RG */]: 2,
[6403 /* RED */]: 1,
[6409 /* LUMINANCE */]: 1,
[6410 /* LUMINANCE_ALPHA */]: 2,
[6406 /* ALPHA */]: 1
};
const TYPES_TO_BYTES_PER_PIXEL = {
[32819 /* UNSIGNED_SHORT_4_4_4_4 */]: 2,
[32820 /* UNSIGNED_SHORT_5_5_5_1 */]: 2,
[33635 /* UNSIGNED_SHORT_5_6_5 */]: 2
};
const INTERNAL_FORMAT_TO_BYTES_PER_PIXEL = {
[33776 /* COMPRESSED_RGB_S3TC_DXT1_EXT */]: 0.5,
[33777 /* COMPRESSED_RGBA_S3TC_DXT1_EXT */]: 0.5,
[33778 /* COMPRESSED_RGBA_S3TC_DXT3_EXT */]: 1,
[33779 /* COMPRESSED_RGBA_S3TC_DXT5_EXT */]: 1,
[35916 /* COMPRESSED_SRGB_S3TC_DXT1_EXT */]: 0.5,
[35917 /* COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT */]: 0.5,
[35918 /* COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT */]: 1,
[35919 /* COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT */]: 1,
[36283 /* COMPRESSED_RED_RGTC1_EXT */]: 0.5,
[36284 /* COMPRESSED_SIGNED_RED_RGTC1_EXT */]: 0.5,
[36285 /* COMPRESSED_RED_GREEN_RGTC2_EXT */]: 1,
[36286 /* COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT */]: 1,
[37488 /* COMPRESSED_R11_EAC */]: 0.5,
[37489 /* COMPRESSED_SIGNED_R11_EAC */]: 0.5,
[37490 /* COMPRESSED_RG11_EAC */]: 1,
[37491 /* COMPRESSED_SIGNED_RG11_EAC */]: 1,
[37492 /* COMPRESSED_RGB8_ETC2 */]: 0.5,
[37496 /* COMPRESSED_RGBA8_ETC2_EAC */]: 1,
[37493 /* COMPRESSED_SRGB8_ETC2 */]: 0.5,
[37497 /* COMPRESSED_SRGB8_ALPHA8_ETC2_EAC */]: 1,
[37494 /* COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 */]: 0.5,
[37495 /* COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 */]: 0.5,
[37808 /* COMPRESSED_RGBA_ASTC_4x4_KHR */]: 1,
[37840 /* COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR */]: 1,
[37809 /* COMPRESSED_RGBA_ASTC_5x4_KHR */]: 0.8,
[37841 /* COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR */]: 0.8,
[37810 /* COMPRESSED_RGBA_ASTC_5x5_KHR */]: 0.64,
[37842 /* COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR */]: 0.64,
[37811 /* COMPRESSED_RGBA_ASTC_6x5_KHR */]: 0.53375,
[37843 /* COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR */]: 0.53375,
[37812 /* COMPRESSED_RGBA_ASTC_6x6_KHR */]: 0.445,
[37844 /* COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR */]: 0.445,
[37813 /* COMPRESSED_RGBA_ASTC_8x5_KHR */]: 0.4,
[37845 /* COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR */]: 0.4,
[37814 /* COMPRESSED_RGBA_ASTC_8x6_KHR */]: 0.33375,
[37846 /* COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR */]: 0.33375,
[37815 /* COMPRESSED_RGBA_ASTC_8x8_KHR */]: 0.25,
[37847 /* COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR */]: 0.25,
[37816 /* COMPRESSED_RGBA_ASTC_10x5_KHR */]: 0.32,
[37848 /* COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR */]: 0.32,
[37817 /* COMPRESSED_RGBA_ASTC_10x6_KHR */]: 0.26625,
[37849 /* COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR */]: 0.26625,
[37818 /* COMPRESSED_RGBA_ASTC_10x8_KHR */]: 0.2,
[37850 /* COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR */]: 0.2,
[37819 /* COMPRESSED_RGBA_ASTC_10x10_KHR */]: 0.16,
[37851 /* COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR */]: 0.16,
[37820 /* COMPRESSED_RGBA_ASTC_12x10_KHR */]: 0.13375,
[37852 /* COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR */]: 0.13375,
[37821 /* COMPRESSED_RGBA_ASTC_12x12_KHR */]: 0.11125,
[37853 /* COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR */]: 0.11125,
[36492 /* COMPRESSED_RGBA_BPTC_UNORM_EXT */]: 1,
[36493 /* COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT */]: 1,
[36494 /* COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT */]: 1,
[36495 /* COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT */]: 1
};
const KTX = {
FILE_HEADER_SIZE,
FILE_IDENTIFIER,
FORMATS_TO_COMPONENTS,
INTERNAL_FORMAT_TO_BYTES_PER_PIXEL,
INTERNAL_FORMAT_TO_TEXTURE_FORMATS,
FIELDS,
TYPES_TO_BYTES_PER_COMPONENT,
TYPES_TO_BYTES_PER_PIXEL,
ENDIANNESS
};
exports.GL_INTERNAL_FORMAT = GL_INTERNAL_FORMAT;
exports.KTX = KTX;
//# sourceMappingURL=const.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,274 @@
"use strict";
var GL_INTERNAL_FORMAT = /* @__PURE__ */ ((GL_INTERNAL_FORMAT2) => {
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["RGBA8_SNORM"] = 36759] = "RGBA8_SNORM";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["RGBA"] = 6408] = "RGBA";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["RGBA8UI"] = 36220] = "RGBA8UI";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["SRGB8_ALPHA8"] = 35907] = "SRGB8_ALPHA8";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["RGBA8I"] = 36238] = "RGBA8I";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["RGBA8"] = 32856] = "RGBA8";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGB_S3TC_DXT1_EXT"] = 33776] = "COMPRESSED_RGB_S3TC_DXT1_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_S3TC_DXT1_EXT"] = 33777] = "COMPRESSED_RGBA_S3TC_DXT1_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_S3TC_DXT3_EXT"] = 33778] = "COMPRESSED_RGBA_S3TC_DXT3_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_S3TC_DXT5_EXT"] = 33779] = "COMPRESSED_RGBA_S3TC_DXT5_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT"] = 35917] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT"] = 35918] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"] = 35919] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB_S3TC_DXT1_EXT"] = 35916] = "COMPRESSED_SRGB_S3TC_DXT1_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RED_RGTC1_EXT"] = 36283] = "COMPRESSED_RED_RGTC1_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SIGNED_RED_RGTC1_EXT"] = 36284] = "COMPRESSED_SIGNED_RED_RGTC1_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RED_GREEN_RGTC2_EXT"] = 36285] = "COMPRESSED_RED_GREEN_RGTC2_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT"] = 36286] = "COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_R11_EAC"] = 37488] = "COMPRESSED_R11_EAC";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SIGNED_R11_EAC"] = 37489] = "COMPRESSED_SIGNED_R11_EAC";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RG11_EAC"] = 37490] = "COMPRESSED_RG11_EAC";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SIGNED_RG11_EAC"] = 37491] = "COMPRESSED_SIGNED_RG11_EAC";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGB8_ETC2"] = 37492] = "COMPRESSED_RGB8_ETC2";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA8_ETC2_EAC"] = 37496] = "COMPRESSED_RGBA8_ETC2_EAC";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ETC2"] = 37493] = "COMPRESSED_SRGB8_ETC2";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"] = 37497] = "COMPRESSED_SRGB8_ALPHA8_ETC2_EAC";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"] = 37494] = "COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"] = 37495] = "COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_4x4_KHR"] = 37808] = "COMPRESSED_RGBA_ASTC_4x4_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_5x4_KHR"] = 37809] = "COMPRESSED_RGBA_ASTC_5x4_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_5x5_KHR"] = 37810] = "COMPRESSED_RGBA_ASTC_5x5_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_6x5_KHR"] = 37811] = "COMPRESSED_RGBA_ASTC_6x5_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_6x6_KHR"] = 37812] = "COMPRESSED_RGBA_ASTC_6x6_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_8x5_KHR"] = 37813] = "COMPRESSED_RGBA_ASTC_8x5_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_8x6_KHR"] = 37814] = "COMPRESSED_RGBA_ASTC_8x6_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_8x8_KHR"] = 37815] = "COMPRESSED_RGBA_ASTC_8x8_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_10x5_KHR"] = 37816] = "COMPRESSED_RGBA_ASTC_10x5_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_10x6_KHR"] = 37817] = "COMPRESSED_RGBA_ASTC_10x6_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_10x8_KHR"] = 37818] = "COMPRESSED_RGBA_ASTC_10x8_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_10x10_KHR"] = 37819] = "COMPRESSED_RGBA_ASTC_10x10_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_12x10_KHR"] = 37820] = "COMPRESSED_RGBA_ASTC_12x10_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_ASTC_12x12_KHR"] = 37821] = "COMPRESSED_RGBA_ASTC_12x12_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"] = 37840] = "COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"] = 37841] = "COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"] = 37842] = "COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"] = 37843] = "COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"] = 37844] = "COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"] = 37845] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"] = 37846] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"] = 37847] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"] = 37848] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"] = 37849] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"] = 37850] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"] = 37851] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"] = 37852] = "COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"] = 37853] = "COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGBA_BPTC_UNORM_EXT"] = 36492] = "COMPRESSED_RGBA_BPTC_UNORM_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT"] = 36493] = "COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT"] = 36494] = "COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT";
GL_INTERNAL_FORMAT2[GL_INTERNAL_FORMAT2["COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT"] = 36495] = "COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT";
return GL_INTERNAL_FORMAT2;
})(GL_INTERNAL_FORMAT || {});
var GL_FORMATS = /* @__PURE__ */ ((GL_FORMATS2) => {
GL_FORMATS2[GL_FORMATS2["RGBA"] = 6408] = "RGBA";
GL_FORMATS2[GL_FORMATS2["RGB"] = 6407] = "RGB";
GL_FORMATS2[GL_FORMATS2["RG"] = 33319] = "RG";
GL_FORMATS2[GL_FORMATS2["RED"] = 6403] = "RED";
GL_FORMATS2[GL_FORMATS2["RGBA_INTEGER"] = 36249] = "RGBA_INTEGER";
GL_FORMATS2[GL_FORMATS2["RGB_INTEGER"] = 36248] = "RGB_INTEGER";
GL_FORMATS2[GL_FORMATS2["RG_INTEGER"] = 33320] = "RG_INTEGER";
GL_FORMATS2[GL_FORMATS2["RED_INTEGER"] = 36244] = "RED_INTEGER";
GL_FORMATS2[GL_FORMATS2["ALPHA"] = 6406] = "ALPHA";
GL_FORMATS2[GL_FORMATS2["LUMINANCE"] = 6409] = "LUMINANCE";
GL_FORMATS2[GL_FORMATS2["LUMINANCE_ALPHA"] = 6410] = "LUMINANCE_ALPHA";
GL_FORMATS2[GL_FORMATS2["DEPTH_COMPONENT"] = 6402] = "DEPTH_COMPONENT";
GL_FORMATS2[GL_FORMATS2["DEPTH_STENCIL"] = 34041] = "DEPTH_STENCIL";
return GL_FORMATS2;
})(GL_FORMATS || {});
var GL_TYPES = /* @__PURE__ */ ((GL_TYPES2) => {
GL_TYPES2[GL_TYPES2["UNSIGNED_BYTE"] = 5121] = "UNSIGNED_BYTE";
GL_TYPES2[GL_TYPES2["UNSIGNED_SHORT"] = 5123] = "UNSIGNED_SHORT";
GL_TYPES2[GL_TYPES2["UNSIGNED_SHORT_5_6_5"] = 33635] = "UNSIGNED_SHORT_5_6_5";
GL_TYPES2[GL_TYPES2["UNSIGNED_SHORT_4_4_4_4"] = 32819] = "UNSIGNED_SHORT_4_4_4_4";
GL_TYPES2[GL_TYPES2["UNSIGNED_SHORT_5_5_5_1"] = 32820] = "UNSIGNED_SHORT_5_5_5_1";
GL_TYPES2[GL_TYPES2["UNSIGNED_INT"] = 5125] = "UNSIGNED_INT";
GL_TYPES2[GL_TYPES2["UNSIGNED_INT_10F_11F_11F_REV"] = 35899] = "UNSIGNED_INT_10F_11F_11F_REV";
GL_TYPES2[GL_TYPES2["UNSIGNED_INT_2_10_10_10_REV"] = 33640] = "UNSIGNED_INT_2_10_10_10_REV";
GL_TYPES2[GL_TYPES2["UNSIGNED_INT_24_8"] = 34042] = "UNSIGNED_INT_24_8";
GL_TYPES2[GL_TYPES2["UNSIGNED_INT_5_9_9_9_REV"] = 35902] = "UNSIGNED_INT_5_9_9_9_REV";
GL_TYPES2[GL_TYPES2["BYTE"] = 5120] = "BYTE";
GL_TYPES2[GL_TYPES2["SHORT"] = 5122] = "SHORT";
GL_TYPES2[GL_TYPES2["INT"] = 5124] = "INT";
GL_TYPES2[GL_TYPES2["FLOAT"] = 5126] = "FLOAT";
GL_TYPES2[GL_TYPES2["FLOAT_32_UNSIGNED_INT_24_8_REV"] = 36269] = "FLOAT_32_UNSIGNED_INT_24_8_REV";
GL_TYPES2[GL_TYPES2["HALF_FLOAT"] = 36193] = "HALF_FLOAT";
return GL_TYPES2;
})(GL_TYPES || {});
const INTERNAL_FORMAT_TO_TEXTURE_FORMATS = {
[33776 /* COMPRESSED_RGB_S3TC_DXT1_EXT */]: "bc1-rgba-unorm",
// TODO: ???
[33777 /* COMPRESSED_RGBA_S3TC_DXT1_EXT */]: "bc1-rgba-unorm",
[33778 /* COMPRESSED_RGBA_S3TC_DXT3_EXT */]: "bc2-rgba-unorm",
[33779 /* COMPRESSED_RGBA_S3TC_DXT5_EXT */]: "bc3-rgba-unorm",
[35916 /* COMPRESSED_SRGB_S3TC_DXT1_EXT */]: "bc1-rgba-unorm-srgb",
// TODO: ???
[35917 /* COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT */]: "bc1-rgba-unorm-srgb",
[35918 /* COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT */]: "bc2-rgba-unorm-srgb",
[35919 /* COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT */]: "bc3-rgba-unorm-srgb",
[36283 /* COMPRESSED_RED_RGTC1_EXT */]: "bc4-r-unorm",
[36284 /* COMPRESSED_SIGNED_RED_RGTC1_EXT */]: "bc4-r-snorm",
[36285 /* COMPRESSED_RED_GREEN_RGTC2_EXT */]: "bc5-rg-unorm",
[36286 /* COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT */]: "bc5-rg-snorm",
[37488 /* COMPRESSED_R11_EAC */]: "eac-r11unorm",
// [GL_INTERNAL_FORMAT.COMPRESSED_SIGNED_R11_EAC]: 'eac-r11snorm',
[37490 /* COMPRESSED_RG11_EAC */]: "eac-rg11snorm",
// [GL_INTERNAL_FORMAT.COMPRESSED_SIGNED_RG11_EAC]: 'eac-rg11unorm',
[37492 /* COMPRESSED_RGB8_ETC2 */]: "etc2-rgb8unorm",
[37496 /* COMPRESSED_RGBA8_ETC2_EAC */]: "etc2-rgba8unorm",
[37493 /* COMPRESSED_SRGB8_ETC2 */]: "etc2-rgb8unorm-srgb",
[37497 /* COMPRESSED_SRGB8_ALPHA8_ETC2_EAC */]: "etc2-rgba8unorm-srgb",
[37494 /* COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 */]: "etc2-rgb8a1unorm",
[37495 /* COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 */]: "etc2-rgb8a1unorm-srgb",
[37808 /* COMPRESSED_RGBA_ASTC_4x4_KHR */]: "astc-4x4-unorm",
[37840 /* COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR */]: "astc-4x4-unorm-srgb",
[37809 /* COMPRESSED_RGBA_ASTC_5x4_KHR */]: "astc-5x4-unorm",
[37841 /* COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR */]: "astc-5x4-unorm-srgb",
[37810 /* COMPRESSED_RGBA_ASTC_5x5_KHR */]: "astc-5x5-unorm",
[37842 /* COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR */]: "astc-5x5-unorm-srgb",
[37811 /* COMPRESSED_RGBA_ASTC_6x5_KHR */]: "astc-6x5-unorm",
[37843 /* COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR */]: "astc-6x5-unorm-srgb",
[37812 /* COMPRESSED_RGBA_ASTC_6x6_KHR */]: "astc-6x6-unorm",
[37844 /* COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR */]: "astc-6x6-unorm-srgb",
[37813 /* COMPRESSED_RGBA_ASTC_8x5_KHR */]: "astc-8x5-unorm",
[37845 /* COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR */]: "astc-8x5-unorm-srgb",
[37814 /* COMPRESSED_RGBA_ASTC_8x6_KHR */]: "astc-8x6-unorm",
[37846 /* COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR */]: "astc-8x6-unorm-srgb",
[37815 /* COMPRESSED_RGBA_ASTC_8x8_KHR */]: "astc-8x8-unorm",
[37847 /* COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR */]: "astc-8x8-unorm-srgb",
[37816 /* COMPRESSED_RGBA_ASTC_10x5_KHR */]: "astc-10x5-unorm",
[37848 /* COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR */]: "astc-10x5-unorm-srgb",
[37817 /* COMPRESSED_RGBA_ASTC_10x6_KHR */]: "astc-10x6-unorm",
[37849 /* COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR */]: "astc-10x6-unorm-srgb",
[37818 /* COMPRESSED_RGBA_ASTC_10x8_KHR */]: "astc-10x8-unorm",
[37850 /* COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR */]: "astc-10x8-unorm-srgb",
[37819 /* COMPRESSED_RGBA_ASTC_10x10_KHR */]: "astc-10x10-unorm",
[37851 /* COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR */]: "astc-10x10-unorm-srgb",
[37820 /* COMPRESSED_RGBA_ASTC_12x10_KHR */]: "astc-12x10-unorm",
[37852 /* COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR */]: "astc-12x10-unorm-srgb",
[37821 /* COMPRESSED_RGBA_ASTC_12x12_KHR */]: "astc-12x12-unorm",
[37853 /* COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR */]: "astc-12x12-unorm-srgb",
[36492 /* COMPRESSED_RGBA_BPTC_UNORM_EXT */]: "bc7-rgba-unorm",
[36493 /* COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT */]: "bc7-rgba-unorm-srgb",
[36494 /* COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT */]: "bc6h-rgb-float",
[36495 /* COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT */]: "bc6h-rgb-ufloat",
[35907 /* SRGB8_ALPHA8 */]: "rgba8unorm-srgb",
[36759 /* RGBA8_SNORM */]: "rgba8snorm",
[36220 /* RGBA8UI */]: "rgba8uint",
[36238 /* RGBA8I */]: "rgba8sint",
[6408 /* RGBA */]: "rgba8unorm"
// [GL_INTERNAL_FORMAT.RGBA8]: 'bgra8unorm'
};
const FILE_IDENTIFIER = [171, 75, 84, 88, 32, 49, 49, 187, 13, 10, 26, 10];
const FIELDS = {
FILE_IDENTIFIER: 0,
ENDIANNESS: 12,
GL_TYPE: 16,
GL_TYPE_SIZE: 20,
GL_FORMAT: 24,
GL_INTERNAL_FORMAT: 28,
GL_BASE_INTERNAL_FORMAT: 32,
PIXEL_WIDTH: 36,
PIXEL_HEIGHT: 40,
PIXEL_DEPTH: 44,
NUMBER_OF_ARRAY_ELEMENTS: 48,
NUMBER_OF_FACES: 52,
NUMBER_OF_MIPMAP_LEVELS: 56,
BYTES_OF_KEY_VALUE_DATA: 60
};
const FILE_HEADER_SIZE = 64;
const ENDIANNESS = 67305985;
const TYPES_TO_BYTES_PER_COMPONENT = {
[5121 /* UNSIGNED_BYTE */]: 1,
[5123 /* UNSIGNED_SHORT */]: 2,
[5124 /* INT */]: 4,
[5125 /* UNSIGNED_INT */]: 4,
[5126 /* FLOAT */]: 4,
[36193 /* HALF_FLOAT */]: 8
};
const FORMATS_TO_COMPONENTS = {
[6408 /* RGBA */]: 4,
[6407 /* RGB */]: 3,
[33319 /* RG */]: 2,
[6403 /* RED */]: 1,
[6409 /* LUMINANCE */]: 1,
[6410 /* LUMINANCE_ALPHA */]: 2,
[6406 /* ALPHA */]: 1
};
const TYPES_TO_BYTES_PER_PIXEL = {
[32819 /* UNSIGNED_SHORT_4_4_4_4 */]: 2,
[32820 /* UNSIGNED_SHORT_5_5_5_1 */]: 2,
[33635 /* UNSIGNED_SHORT_5_6_5 */]: 2
};
const INTERNAL_FORMAT_TO_BYTES_PER_PIXEL = {
[33776 /* COMPRESSED_RGB_S3TC_DXT1_EXT */]: 0.5,
[33777 /* COMPRESSED_RGBA_S3TC_DXT1_EXT */]: 0.5,
[33778 /* COMPRESSED_RGBA_S3TC_DXT3_EXT */]: 1,
[33779 /* COMPRESSED_RGBA_S3TC_DXT5_EXT */]: 1,
[35916 /* COMPRESSED_SRGB_S3TC_DXT1_EXT */]: 0.5,
[35917 /* COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT */]: 0.5,
[35918 /* COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT */]: 1,
[35919 /* COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT */]: 1,
[36283 /* COMPRESSED_RED_RGTC1_EXT */]: 0.5,
[36284 /* COMPRESSED_SIGNED_RED_RGTC1_EXT */]: 0.5,
[36285 /* COMPRESSED_RED_GREEN_RGTC2_EXT */]: 1,
[36286 /* COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT */]: 1,
[37488 /* COMPRESSED_R11_EAC */]: 0.5,
[37489 /* COMPRESSED_SIGNED_R11_EAC */]: 0.5,
[37490 /* COMPRESSED_RG11_EAC */]: 1,
[37491 /* COMPRESSED_SIGNED_RG11_EAC */]: 1,
[37492 /* COMPRESSED_RGB8_ETC2 */]: 0.5,
[37496 /* COMPRESSED_RGBA8_ETC2_EAC */]: 1,
[37493 /* COMPRESSED_SRGB8_ETC2 */]: 0.5,
[37497 /* COMPRESSED_SRGB8_ALPHA8_ETC2_EAC */]: 1,
[37494 /* COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 */]: 0.5,
[37495 /* COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 */]: 0.5,
[37808 /* COMPRESSED_RGBA_ASTC_4x4_KHR */]: 1,
[37840 /* COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR */]: 1,
[37809 /* COMPRESSED_RGBA_ASTC_5x4_KHR */]: 0.8,
[37841 /* COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR */]: 0.8,
[37810 /* COMPRESSED_RGBA_ASTC_5x5_KHR */]: 0.64,
[37842 /* COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR */]: 0.64,
[37811 /* COMPRESSED_RGBA_ASTC_6x5_KHR */]: 0.53375,
[37843 /* COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR */]: 0.53375,
[37812 /* COMPRESSED_RGBA_ASTC_6x6_KHR */]: 0.445,
[37844 /* COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR */]: 0.445,
[37813 /* COMPRESSED_RGBA_ASTC_8x5_KHR */]: 0.4,
[37845 /* COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR */]: 0.4,
[37814 /* COMPRESSED_RGBA_ASTC_8x6_KHR */]: 0.33375,
[37846 /* COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR */]: 0.33375,
[37815 /* COMPRESSED_RGBA_ASTC_8x8_KHR */]: 0.25,
[37847 /* COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR */]: 0.25,
[37816 /* COMPRESSED_RGBA_ASTC_10x5_KHR */]: 0.32,
[37848 /* COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR */]: 0.32,
[37817 /* COMPRESSED_RGBA_ASTC_10x6_KHR */]: 0.26625,
[37849 /* COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR */]: 0.26625,
[37818 /* COMPRESSED_RGBA_ASTC_10x8_KHR */]: 0.2,
[37850 /* COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR */]: 0.2,
[37819 /* COMPRESSED_RGBA_ASTC_10x10_KHR */]: 0.16,
[37851 /* COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR */]: 0.16,
[37820 /* COMPRESSED_RGBA_ASTC_12x10_KHR */]: 0.13375,
[37852 /* COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR */]: 0.13375,
[37821 /* COMPRESSED_RGBA_ASTC_12x12_KHR */]: 0.11125,
[37853 /* COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR */]: 0.11125,
[36492 /* COMPRESSED_RGBA_BPTC_UNORM_EXT */]: 1,
[36493 /* COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT */]: 1,
[36494 /* COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT */]: 1,
[36495 /* COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT */]: 1
};
const KTX = {
FILE_HEADER_SIZE,
FILE_IDENTIFIER,
FORMATS_TO_COMPONENTS,
INTERNAL_FORMAT_TO_BYTES_PER_PIXEL,
INTERNAL_FORMAT_TO_TEXTURE_FORMATS,
FIELDS,
TYPES_TO_BYTES_PER_COMPONENT,
TYPES_TO_BYTES_PER_PIXEL,
ENDIANNESS
};
export { GL_INTERNAL_FORMAT, KTX };
//# sourceMappingURL=const.mjs.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
export {};

View File

@@ -0,0 +1,12 @@
'use strict';
var Extensions = require('../../extensions/Extensions.js');
var detectCompressed = require('../shared/detectCompressed.js');
var resolveCompressedTextureUrl = require('../shared/resolveCompressedTextureUrl.js');
var loadKTX2 = require('./loadKTX2.js');
"use strict";
Extensions.extensions.add(loadKTX2.loadKTX2);
Extensions.extensions.add(resolveCompressedTextureUrl.resolveCompressedTextureUrl);
Extensions.extensions.add(detectCompressed.detectCompressed);
//# sourceMappingURL=init.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"init.js","sources":["../../../src/compressed-textures/ktx2/init.ts"],"sourcesContent":["import { extensions } from '../../extensions/Extensions';\nimport { detectCompressed } from '../shared/detectCompressed';\nimport { resolveCompressedTextureUrl } from '../shared/resolveCompressedTextureUrl';\nimport { loadKTX2 } from './loadKTX2';\n\nextensions.add(loadKTX2);\nextensions.add(resolveCompressedTextureUrl);\nextensions.add(detectCompressed);\n\n"],"names":["extensions","loadKTX2","resolveCompressedTextureUrl","detectCompressed"],"mappings":";;;;;;;;AAKAA,qBAAA,CAAW,IAAIC,iBAAQ,CAAA,CAAA;AACvBD,qBAAA,CAAW,IAAIE,uDAA2B,CAAA,CAAA;AAC1CF,qBAAA,CAAW,IAAIG,iCAAgB,CAAA;;"}

View File

@@ -0,0 +1,10 @@
import { extensions } from '../../extensions/Extensions.mjs';
import { detectCompressed } from '../shared/detectCompressed.mjs';
import { resolveCompressedTextureUrl } from '../shared/resolveCompressedTextureUrl.mjs';
import { loadKTX2 } from './loadKTX2.mjs';
"use strict";
extensions.add(loadKTX2);
extensions.add(resolveCompressedTextureUrl);
extensions.add(detectCompressed);
//# sourceMappingURL=init.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"init.mjs","sources":["../../../src/compressed-textures/ktx2/init.ts"],"sourcesContent":["import { extensions } from '../../extensions/Extensions';\nimport { detectCompressed } from '../shared/detectCompressed';\nimport { resolveCompressedTextureUrl } from '../shared/resolveCompressedTextureUrl';\nimport { loadKTX2 } from './loadKTX2';\n\nextensions.add(loadKTX2);\nextensions.add(resolveCompressedTextureUrl);\nextensions.add(detectCompressed);\n\n"],"names":[],"mappings":";;;;;;AAKA,UAAA,CAAW,IAAI,QAAQ,CAAA,CAAA;AACvB,UAAA,CAAW,IAAI,2BAA2B,CAAA,CAAA;AAC1C,UAAA,CAAW,IAAI,gBAAgB,CAAA"}

View File

@@ -0,0 +1,17 @@
import { LoaderParserPriority } from '../../assets/loader/parsers/LoaderParser';
import { ExtensionType } from '../../extensions/Extensions';
import type { Loader } from '../../assets/loader/Loader';
import type { ResolvedAsset } from '../../assets/types';
import type { Texture } from '../../rendering/renderers/shared/texture/Texture';
/** Loads KTX2 textures! */
export declare const loadKTX2: {
extension: {
type: ExtensionType.LoadParser;
priority: LoaderParserPriority;
name: string;
};
name: string;
test(url: string): boolean;
load<T>(url: string, _asset: ResolvedAsset, loader: Loader): Promise<Texture | Texture[]>;
unload(texture: Texture | Texture[]): Promise<void>;
};

View File

@@ -0,0 +1,38 @@
'use strict';
var LoaderParser = require('../../assets/loader/parsers/LoaderParser.js');
var createTexture = require('../../assets/loader/parsers/textures/utils/createTexture.js');
var checkExtension = require('../../assets/utils/checkExtension.js');
var Extensions = require('../../extensions/Extensions.js');
var CompressedSource = require('../../rendering/renderers/shared/texture/sources/CompressedSource.js');
var getSupportedTextureFormats = require('../../rendering/renderers/shared/texture/utils/getSupportedTextureFormats.js');
var loadKTX2onWorker = require('./worker/loadKTX2onWorker.js');
"use strict";
const loadKTX2 = {
extension: {
type: Extensions.ExtensionType.LoadParser,
priority: LoaderParser.LoaderParserPriority.High,
name: "loadKTX2"
},
name: "loadKTX2",
test(url) {
return checkExtension.checkExtension(url, ".ktx2");
},
async load(url, _asset, loader) {
const supportedTextures = await getSupportedTextureFormats.getSupportedTextureFormats();
const textureOptions = await loadKTX2onWorker.loadKTX2onWorker(url, supportedTextures);
const compressedTextureSource = new CompressedSource.CompressedSource(textureOptions);
return createTexture.createTexture(compressedTextureSource, loader, url);
},
async unload(texture) {
if (Array.isArray(texture)) {
texture.forEach((t) => t.destroy(true));
} else {
texture.destroy(true);
}
}
};
exports.loadKTX2 = loadKTX2;
//# sourceMappingURL=loadKTX2.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"loadKTX2.js","sources":["../../../src/compressed-textures/ktx2/loadKTX2.ts"],"sourcesContent":["import { LoaderParserPriority } from '../../assets/loader/parsers/LoaderParser';\nimport { createTexture } from '../../assets/loader/parsers/textures/utils/createTexture';\nimport { checkExtension } from '../../assets/utils/checkExtension';\nimport { ExtensionType } from '../../extensions/Extensions';\nimport { CompressedSource } from '../../rendering/renderers/shared/texture/sources/CompressedSource';\nimport { getSupportedTextureFormats } from '../../rendering/renderers/shared/texture/utils/getSupportedTextureFormats';\nimport { loadKTX2onWorker } from './worker/loadKTX2onWorker';\n\nimport type { Loader } from '../../assets/loader/Loader';\nimport type { LoaderParser } from '../../assets/loader/parsers/LoaderParser';\nimport type { ResolvedAsset } from '../../assets/types';\nimport type { TextureSourceOptions } from '../../rendering/renderers/shared/texture/sources/TextureSource';\nimport type { Texture } from '../../rendering/renderers/shared/texture/Texture';\n\n/** Loads KTX2 textures! */\nexport const loadKTX2 = {\n extension: {\n type: ExtensionType.LoadParser,\n priority: LoaderParserPriority.High,\n name: 'loadKTX2',\n },\n\n name: 'loadKTX2',\n\n test(url: string): boolean\n {\n return checkExtension(url, '.ktx2');\n },\n\n async load(url: string, _asset: ResolvedAsset, loader: Loader): Promise<Texture | Texture[]>\n {\n const supportedTextures = await getSupportedTextureFormats();\n\n const textureOptions = await loadKTX2onWorker(url, supportedTextures);\n\n const compressedTextureSource = new CompressedSource(textureOptions);\n\n return createTexture(compressedTextureSource, loader, url);\n },\n\n async unload(texture: Texture | Texture[]): Promise<void>\n {\n if (Array.isArray(texture))\n {\n texture.forEach((t) => t.destroy(true));\n }\n else\n {\n texture.destroy(true);\n }\n }\n\n} satisfies LoaderParser<Texture | Texture[], TextureSourceOptions>;\n\n"],"names":["ExtensionType","LoaderParserPriority","checkExtension","getSupportedTextureFormats","loadKTX2onWorker","CompressedSource","createTexture"],"mappings":";;;;;;;;;;;AAeO,MAAM,QAAW,GAAA;AAAA,EACpB,SAAW,EAAA;AAAA,IACP,MAAMA,wBAAc,CAAA,UAAA;AAAA,IACpB,UAAUC,iCAAqB,CAAA,IAAA;AAAA,IAC/B,IAAM,EAAA,UAAA;AAAA,GACV;AAAA,EAEA,IAAM,EAAA,UAAA;AAAA,EAEN,KAAK,GACL,EAAA;AACI,IAAO,OAAAC,6BAAA,CAAe,KAAK,OAAO,CAAA,CAAA;AAAA,GACtC;AAAA,EAEA,MAAM,IAAA,CAAK,GAAa,EAAA,MAAA,EAAuB,MAC/C,EAAA;AACI,IAAM,MAAA,iBAAA,GAAoB,MAAMC,qDAA2B,EAAA,CAAA;AAE3D,IAAA,MAAM,cAAiB,GAAA,MAAMC,iCAAiB,CAAA,GAAA,EAAK,iBAAiB,CAAA,CAAA;AAEpE,IAAM,MAAA,uBAAA,GAA0B,IAAIC,iCAAA,CAAiB,cAAc,CAAA,CAAA;AAEnE,IAAO,OAAAC,2BAAA,CAAc,uBAAyB,EAAA,MAAA,EAAQ,GAAG,CAAA,CAAA;AAAA,GAC7D;AAAA,EAEA,MAAM,OAAO,OACb,EAAA;AACI,IAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,OAAO,CACzB,EAAA;AACI,MAAA,OAAA,CAAQ,QAAQ,CAAC,CAAA,KAAM,CAAE,CAAA,OAAA,CAAQ,IAAI,CAAC,CAAA,CAAA;AAAA,KAG1C,MAAA;AACI,MAAA,OAAA,CAAQ,QAAQ,IAAI,CAAA,CAAA;AAAA,KACxB;AAAA,GACJ;AAEJ;;;;"}

View File

@@ -0,0 +1,36 @@
import { LoaderParserPriority } from '../../assets/loader/parsers/LoaderParser.mjs';
import { createTexture } from '../../assets/loader/parsers/textures/utils/createTexture.mjs';
import { checkExtension } from '../../assets/utils/checkExtension.mjs';
import { ExtensionType } from '../../extensions/Extensions.mjs';
import { CompressedSource } from '../../rendering/renderers/shared/texture/sources/CompressedSource.mjs';
import { getSupportedTextureFormats } from '../../rendering/renderers/shared/texture/utils/getSupportedTextureFormats.mjs';
import { loadKTX2onWorker } from './worker/loadKTX2onWorker.mjs';
"use strict";
const loadKTX2 = {
extension: {
type: ExtensionType.LoadParser,
priority: LoaderParserPriority.High,
name: "loadKTX2"
},
name: "loadKTX2",
test(url) {
return checkExtension(url, ".ktx2");
},
async load(url, _asset, loader) {
const supportedTextures = await getSupportedTextureFormats();
const textureOptions = await loadKTX2onWorker(url, supportedTextures);
const compressedTextureSource = new CompressedSource(textureOptions);
return createTexture(compressedTextureSource, loader, url);
},
async unload(texture) {
if (Array.isArray(texture)) {
texture.forEach((t) => t.destroy(true));
} else {
texture.destroy(true);
}
}
};
export { loadKTX2 };
//# sourceMappingURL=loadKTX2.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"loadKTX2.mjs","sources":["../../../src/compressed-textures/ktx2/loadKTX2.ts"],"sourcesContent":["import { LoaderParserPriority } from '../../assets/loader/parsers/LoaderParser';\nimport { createTexture } from '../../assets/loader/parsers/textures/utils/createTexture';\nimport { checkExtension } from '../../assets/utils/checkExtension';\nimport { ExtensionType } from '../../extensions/Extensions';\nimport { CompressedSource } from '../../rendering/renderers/shared/texture/sources/CompressedSource';\nimport { getSupportedTextureFormats } from '../../rendering/renderers/shared/texture/utils/getSupportedTextureFormats';\nimport { loadKTX2onWorker } from './worker/loadKTX2onWorker';\n\nimport type { Loader } from '../../assets/loader/Loader';\nimport type { LoaderParser } from '../../assets/loader/parsers/LoaderParser';\nimport type { ResolvedAsset } from '../../assets/types';\nimport type { TextureSourceOptions } from '../../rendering/renderers/shared/texture/sources/TextureSource';\nimport type { Texture } from '../../rendering/renderers/shared/texture/Texture';\n\n/** Loads KTX2 textures! */\nexport const loadKTX2 = {\n extension: {\n type: ExtensionType.LoadParser,\n priority: LoaderParserPriority.High,\n name: 'loadKTX2',\n },\n\n name: 'loadKTX2',\n\n test(url: string): boolean\n {\n return checkExtension(url, '.ktx2');\n },\n\n async load(url: string, _asset: ResolvedAsset, loader: Loader): Promise<Texture | Texture[]>\n {\n const supportedTextures = await getSupportedTextureFormats();\n\n const textureOptions = await loadKTX2onWorker(url, supportedTextures);\n\n const compressedTextureSource = new CompressedSource(textureOptions);\n\n return createTexture(compressedTextureSource, loader, url);\n },\n\n async unload(texture: Texture | Texture[]): Promise<void>\n {\n if (Array.isArray(texture))\n {\n texture.forEach((t) => t.destroy(true));\n }\n else\n {\n texture.destroy(true);\n }\n }\n\n} satisfies LoaderParser<Texture | Texture[], TextureSourceOptions>;\n\n"],"names":[],"mappings":";;;;;;;;;AAeO,MAAM,QAAW,GAAA;AAAA,EACpB,SAAW,EAAA;AAAA,IACP,MAAM,aAAc,CAAA,UAAA;AAAA,IACpB,UAAU,oBAAqB,CAAA,IAAA;AAAA,IAC/B,IAAM,EAAA,UAAA;AAAA,GACV;AAAA,EAEA,IAAM,EAAA,UAAA;AAAA,EAEN,KAAK,GACL,EAAA;AACI,IAAO,OAAA,cAAA,CAAe,KAAK,OAAO,CAAA,CAAA;AAAA,GACtC;AAAA,EAEA,MAAM,IAAA,CAAK,GAAa,EAAA,MAAA,EAAuB,MAC/C,EAAA;AACI,IAAM,MAAA,iBAAA,GAAoB,MAAM,0BAA2B,EAAA,CAAA;AAE3D,IAAA,MAAM,cAAiB,GAAA,MAAM,gBAAiB,CAAA,GAAA,EAAK,iBAAiB,CAAA,CAAA;AAEpE,IAAM,MAAA,uBAAA,GAA0B,IAAI,gBAAA,CAAiB,cAAc,CAAA,CAAA;AAEnE,IAAO,OAAA,aAAA,CAAc,uBAAyB,EAAA,MAAA,EAAQ,GAAG,CAAA,CAAA;AAAA,GAC7D;AAAA,EAEA,MAAM,OAAO,OACb,EAAA;AACI,IAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,OAAO,CACzB,EAAA;AACI,MAAA,OAAA,CAAQ,QAAQ,CAAC,CAAA,KAAM,CAAE,CAAA,OAAA,CAAQ,IAAI,CAAC,CAAA,CAAA;AAAA,KAG1C,MAAA;AACI,MAAA,OAAA,CAAQ,QAAQ,IAAI,CAAA,CAAA;AAAA,KACxB;AAAA,GACJ;AAEJ;;;;"}

View File

@@ -0,0 +1,23 @@
import type { TEXTURE_FORMATS } from '../../rendering/renderers/shared/texture/const';
export type LIBKTXModuleCreator = (config: {
locateFile: (file: string) => string;
}) => {
then: (result: (libktx: LIBKTXModule) => void) => void;
};
export interface KTXTexture {
getImageData(level: number, layer: number, face: number): Uint8Array;
glInternalformat: number;
vkFormat: number;
classId: number;
numLevels: number;
baseHeight: number;
baseWidth: number;
transcodeBasis(transcodeFormat: any, arg1: number): unknown;
needsTranscoding: boolean;
}
export interface LIBKTXModule {
ErrorCode: any;
TranscodeTarget: any;
ktxTexture: new (data: Uint8Array) => KTXTexture;
}
export type COMPRESSED_TEXTURE_FORMATS = TEXTURE_FORMATS | 'rgb8unorm' | 'rgb8unorm-srgb';

View File

@@ -0,0 +1,4 @@
'use strict';
"use strict";
//# sourceMappingURL=types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}

View File

@@ -0,0 +1,2 @@
"use strict";
//# sourceMappingURL=types.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"types.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}

View File

@@ -0,0 +1,2 @@
import type { TextureSourceOptions } from '../../../rendering/renderers/shared/texture/sources/TextureSource';
export declare function convertFormatIfRequired(textureOptions: TextureSourceOptions): void;

View File

@@ -0,0 +1,35 @@
'use strict';
"use strict";
const converters = {
rgb8unorm: {
convertedFormat: "rgba8unorm",
convertFunction: convertRGBtoRGBA
},
"rgb8unorm-srgb": {
convertedFormat: "rgba8unorm-srgb",
convertFunction: convertRGBtoRGBA
}
};
function convertFormatIfRequired(textureOptions) {
const format = textureOptions.format;
if (converters[format]) {
const convertFunction = converters[format].convertFunction;
const levelBuffers = textureOptions.resource;
for (let i = 0; i < levelBuffers.length; i++) {
levelBuffers[i] = convertFunction(levelBuffers[i]);
}
textureOptions.format = converters[format].convertedFormat;
}
}
function convertRGBtoRGBA(levelBuffer) {
const pixelCount = levelBuffer.byteLength / 3;
const levelBufferWithAlpha = new Uint32Array(pixelCount);
for (let i = 0; i < pixelCount; ++i) {
levelBufferWithAlpha[i] = levelBuffer[i * 3] + (levelBuffer[i * 3 + 1] << 8) + (levelBuffer[i * 3 + 2] << 16) + 4278190080;
}
return new Uint8Array(levelBufferWithAlpha.buffer);
}
exports.convertFormatIfRequired = convertFormatIfRequired;
//# sourceMappingURL=convertFormatIfRequired.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"convertFormatIfRequired.js","sources":["../../../../src/compressed-textures/ktx2/utils/convertFormatIfRequired.ts"],"sourcesContent":["import type { TEXTURE_FORMATS } from '../../../rendering/renderers/shared/texture/const';\nimport type { TextureSourceOptions } from '../../../rendering/renderers/shared/texture/sources/TextureSource';\n\ninterface ColorConverter\n{\n convertedFormat: TEXTURE_FORMATS,\n convertFunction: (levelBuffer: Uint8Array) => Uint8Array\n}\n\nconst converters: Record<string, ColorConverter> = {\n rgb8unorm: {\n convertedFormat: 'rgba8unorm',\n convertFunction: convertRGBtoRGBA,\n },\n 'rgb8unorm-srgb': {\n convertedFormat: 'rgba8unorm-srgb',\n convertFunction: convertRGBtoRGBA,\n }\n};\n\nexport function convertFormatIfRequired(textureOptions: TextureSourceOptions)\n{\n const format = textureOptions.format;\n\n if (converters[format])\n {\n const convertFunction = converters[format].convertFunction;\n\n const levelBuffers = textureOptions.resource;\n\n for (let i = 0; i < levelBuffers.length; i++)\n {\n levelBuffers[i] = convertFunction(levelBuffers[i]);\n }\n\n textureOptions.format = converters[format].convertedFormat;\n }\n}\n\nfunction convertRGBtoRGBA(levelBuffer: Uint8Array): Uint8Array\n{\n const pixelCount = levelBuffer.byteLength / 3;\n\n const levelBufferWithAlpha = new Uint32Array(pixelCount);\n\n for (let i = 0; i < pixelCount; ++i)\n {\n levelBufferWithAlpha[i] = (levelBuffer[i * 3]) // R\n + (levelBuffer[(i * 3) + 1] << 8) // G\n + (levelBuffer[(i * 3) + 2] << 16) // B\n + 0xff000000; // A (255)\n }\n\n return new Uint8Array(levelBufferWithAlpha.buffer);\n}\n"],"names":[],"mappings":";;;AASA,MAAM,UAA6C,GAAA;AAAA,EAC/C,SAAW,EAAA;AAAA,IACP,eAAiB,EAAA,YAAA;AAAA,IACjB,eAAiB,EAAA,gBAAA;AAAA,GACrB;AAAA,EACA,gBAAkB,EAAA;AAAA,IACd,eAAiB,EAAA,iBAAA;AAAA,IACjB,eAAiB,EAAA,gBAAA;AAAA,GACrB;AACJ,CAAA,CAAA;AAEO,SAAS,wBAAwB,cACxC,EAAA;AACI,EAAA,MAAM,SAAS,cAAe,CAAA,MAAA,CAAA;AAE9B,EAAI,IAAA,UAAA,CAAW,MAAM,CACrB,EAAA;AACI,IAAM,MAAA,eAAA,GAAkB,UAAW,CAAA,MAAM,CAAE,CAAA,eAAA,CAAA;AAE3C,IAAA,MAAM,eAAe,cAAe,CAAA,QAAA,CAAA;AAEpC,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,YAAA,CAAa,QAAQ,CACzC,EAAA,EAAA;AACI,MAAA,YAAA,CAAa,CAAC,CAAA,GAAI,eAAgB,CAAA,YAAA,CAAa,CAAC,CAAC,CAAA,CAAA;AAAA,KACrD;AAEA,IAAe,cAAA,CAAA,MAAA,GAAS,UAAW,CAAA,MAAM,CAAE,CAAA,eAAA,CAAA;AAAA,GAC/C;AACJ,CAAA;AAEA,SAAS,iBAAiB,WAC1B,EAAA;AACI,EAAM,MAAA,UAAA,GAAa,YAAY,UAAa,GAAA,CAAA,CAAA;AAE5C,EAAM,MAAA,oBAAA,GAAuB,IAAI,WAAA,CAAY,UAAU,CAAA,CAAA;AAEvD,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,UAAA,EAAY,EAAE,CAClC,EAAA;AACI,IAAA,oBAAA,CAAqB,CAAC,CAAK,GAAA,WAAA,CAAY,CAAI,GAAA,CAAC,KAClC,WAAa,CAAA,CAAA,GAAI,CAAK,GAAA,CAAC,KAAK,CAC5B,CAAA,IAAA,WAAA,CAAa,IAAI,CAAK,GAAA,CAAC,KAAK,EAC7B,CAAA,GAAA,UAAA,CAAA;AAAA,GACb;AAEA,EAAO,OAAA,IAAI,UAAW,CAAA,oBAAA,CAAqB,MAAM,CAAA,CAAA;AACrD;;;;"}

View File

@@ -0,0 +1,33 @@
"use strict";
const converters = {
rgb8unorm: {
convertedFormat: "rgba8unorm",
convertFunction: convertRGBtoRGBA
},
"rgb8unorm-srgb": {
convertedFormat: "rgba8unorm-srgb",
convertFunction: convertRGBtoRGBA
}
};
function convertFormatIfRequired(textureOptions) {
const format = textureOptions.format;
if (converters[format]) {
const convertFunction = converters[format].convertFunction;
const levelBuffers = textureOptions.resource;
for (let i = 0; i < levelBuffers.length; i++) {
levelBuffers[i] = convertFunction(levelBuffers[i]);
}
textureOptions.format = converters[format].convertedFormat;
}
}
function convertRGBtoRGBA(levelBuffer) {
const pixelCount = levelBuffer.byteLength / 3;
const levelBufferWithAlpha = new Uint32Array(pixelCount);
for (let i = 0; i < pixelCount; ++i) {
levelBufferWithAlpha[i] = levelBuffer[i * 3] + (levelBuffer[i * 3 + 1] << 8) + (levelBuffer[i * 3 + 2] << 16) + 4278190080;
}
return new Uint8Array(levelBufferWithAlpha.buffer);
}
export { convertFormatIfRequired };
//# sourceMappingURL=convertFormatIfRequired.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"convertFormatIfRequired.mjs","sources":["../../../../src/compressed-textures/ktx2/utils/convertFormatIfRequired.ts"],"sourcesContent":["import type { TEXTURE_FORMATS } from '../../../rendering/renderers/shared/texture/const';\nimport type { TextureSourceOptions } from '../../../rendering/renderers/shared/texture/sources/TextureSource';\n\ninterface ColorConverter\n{\n convertedFormat: TEXTURE_FORMATS,\n convertFunction: (levelBuffer: Uint8Array) => Uint8Array\n}\n\nconst converters: Record<string, ColorConverter> = {\n rgb8unorm: {\n convertedFormat: 'rgba8unorm',\n convertFunction: convertRGBtoRGBA,\n },\n 'rgb8unorm-srgb': {\n convertedFormat: 'rgba8unorm-srgb',\n convertFunction: convertRGBtoRGBA,\n }\n};\n\nexport function convertFormatIfRequired(textureOptions: TextureSourceOptions)\n{\n const format = textureOptions.format;\n\n if (converters[format])\n {\n const convertFunction = converters[format].convertFunction;\n\n const levelBuffers = textureOptions.resource;\n\n for (let i = 0; i < levelBuffers.length; i++)\n {\n levelBuffers[i] = convertFunction(levelBuffers[i]);\n }\n\n textureOptions.format = converters[format].convertedFormat;\n }\n}\n\nfunction convertRGBtoRGBA(levelBuffer: Uint8Array): Uint8Array\n{\n const pixelCount = levelBuffer.byteLength / 3;\n\n const levelBufferWithAlpha = new Uint32Array(pixelCount);\n\n for (let i = 0; i < pixelCount; ++i)\n {\n levelBufferWithAlpha[i] = (levelBuffer[i * 3]) // R\n + (levelBuffer[(i * 3) + 1] << 8) // G\n + (levelBuffer[(i * 3) + 2] << 16) // B\n + 0xff000000; // A (255)\n }\n\n return new Uint8Array(levelBufferWithAlpha.buffer);\n}\n"],"names":[],"mappings":";AASA,MAAM,UAA6C,GAAA;AAAA,EAC/C,SAAW,EAAA;AAAA,IACP,eAAiB,EAAA,YAAA;AAAA,IACjB,eAAiB,EAAA,gBAAA;AAAA,GACrB;AAAA,EACA,gBAAkB,EAAA;AAAA,IACd,eAAiB,EAAA,iBAAA;AAAA,IACjB,eAAiB,EAAA,gBAAA;AAAA,GACrB;AACJ,CAAA,CAAA;AAEO,SAAS,wBAAwB,cACxC,EAAA;AACI,EAAA,MAAM,SAAS,cAAe,CAAA,MAAA,CAAA;AAE9B,EAAI,IAAA,UAAA,CAAW,MAAM,CACrB,EAAA;AACI,IAAM,MAAA,eAAA,GAAkB,UAAW,CAAA,MAAM,CAAE,CAAA,eAAA,CAAA;AAE3C,IAAA,MAAM,eAAe,cAAe,CAAA,QAAA,CAAA;AAEpC,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,YAAA,CAAa,QAAQ,CACzC,EAAA,EAAA;AACI,MAAA,YAAA,CAAa,CAAC,CAAA,GAAI,eAAgB,CAAA,YAAA,CAAa,CAAC,CAAC,CAAA,CAAA;AAAA,KACrD;AAEA,IAAe,cAAA,CAAA,MAAA,GAAS,UAAW,CAAA,MAAM,CAAE,CAAA,eAAA,CAAA;AAAA,GAC/C;AACJ,CAAA;AAEA,SAAS,iBAAiB,WAC1B,EAAA;AACI,EAAM,MAAA,UAAA,GAAa,YAAY,UAAa,GAAA,CAAA,CAAA;AAE5C,EAAM,MAAA,oBAAA,GAAuB,IAAI,WAAA,CAAY,UAAU,CAAA,CAAA;AAEvD,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,UAAA,EAAY,EAAE,CAClC,EAAA;AACI,IAAA,oBAAA,CAAqB,CAAC,CAAK,GAAA,WAAA,CAAY,CAAI,GAAA,CAAC,KAClC,WAAa,CAAA,CAAA,GAAI,CAAK,GAAA,CAAC,KAAK,CAC5B,CAAA,IAAA,WAAA,CAAa,IAAI,CAAK,GAAA,CAAC,KAAK,EAC7B,CAAA,GAAA,UAAA,CAAA;AAAA,GACb;AAEA,EAAO,OAAA,IAAI,UAAW,CAAA,oBAAA,CAAqB,MAAM,CAAA,CAAA;AACrD;;;;"}

View File

@@ -0,0 +1,2 @@
import type { KTXTexture } from '../types';
export declare function createLevelBuffersFromKTX(ktxTexture: KTXTexture): Uint8Array[];

View File

@@ -0,0 +1,16 @@
'use strict';
"use strict";
function createLevelBuffersFromKTX(ktxTexture) {
const levelBuffers = [];
for (let i = 0; i < ktxTexture.numLevels; i++) {
const imageData = ktxTexture.getImageData(i, 0, 0);
const levelBuffer = new Uint8Array(imageData.byteLength);
levelBuffer.set(imageData);
levelBuffers.push(levelBuffer);
}
return levelBuffers;
}
exports.createLevelBuffersFromKTX = createLevelBuffersFromKTX;
//# sourceMappingURL=createLevelBuffersFromKTX.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"createLevelBuffersFromKTX.js","sources":["../../../../src/compressed-textures/ktx2/utils/createLevelBuffersFromKTX.ts"],"sourcesContent":["import type { KTXTexture } from '../types';\n\nexport function createLevelBuffersFromKTX(ktxTexture: KTXTexture): Uint8Array[]\n{\n const levelBuffers = [];\n\n // create the levels..\n for (let i = 0; i < ktxTexture.numLevels; i++)\n {\n const imageData = ktxTexture.getImageData(i, 0, 0);\n\n const levelBuffer = new Uint8Array(imageData.byteLength);\n\n levelBuffer.set(imageData);\n\n levelBuffers.push(levelBuffer);\n }\n\n return levelBuffers;\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,0BAA0B,UAC1C,EAAA;AACI,EAAA,MAAM,eAAe,EAAC,CAAA;AAGtB,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,UAAA,CAAW,WAAW,CAC1C,EAAA,EAAA;AACI,IAAA,MAAM,SAAY,GAAA,UAAA,CAAW,YAAa,CAAA,CAAA,EAAG,GAAG,CAAC,CAAA,CAAA;AAEjD,IAAA,MAAM,WAAc,GAAA,IAAI,UAAW,CAAA,SAAA,CAAU,UAAU,CAAA,CAAA;AAEvD,IAAA,WAAA,CAAY,IAAI,SAAS,CAAA,CAAA;AAEzB,IAAA,YAAA,CAAa,KAAK,WAAW,CAAA,CAAA;AAAA,GACjC;AAEA,EAAO,OAAA,YAAA,CAAA;AACX;;;;"}

View File

@@ -0,0 +1,14 @@
"use strict";
function createLevelBuffersFromKTX(ktxTexture) {
const levelBuffers = [];
for (let i = 0; i < ktxTexture.numLevels; i++) {
const imageData = ktxTexture.getImageData(i, 0, 0);
const levelBuffer = new Uint8Array(imageData.byteLength);
levelBuffer.set(imageData);
levelBuffers.push(levelBuffer);
}
return levelBuffers;
}
export { createLevelBuffersFromKTX };
//# sourceMappingURL=createLevelBuffersFromKTX.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"createLevelBuffersFromKTX.mjs","sources":["../../../../src/compressed-textures/ktx2/utils/createLevelBuffersFromKTX.ts"],"sourcesContent":["import type { KTXTexture } from '../types';\n\nexport function createLevelBuffersFromKTX(ktxTexture: KTXTexture): Uint8Array[]\n{\n const levelBuffers = [];\n\n // create the levels..\n for (let i = 0; i < ktxTexture.numLevels; i++)\n {\n const imageData = ktxTexture.getImageData(i, 0, 0);\n\n const levelBuffer = new Uint8Array(imageData.byteLength);\n\n levelBuffer.set(imageData);\n\n levelBuffers.push(levelBuffer);\n }\n\n return levelBuffers;\n}\n"],"names":[],"mappings":";AAEO,SAAS,0BAA0B,UAC1C,EAAA;AACI,EAAA,MAAM,eAAe,EAAC,CAAA;AAGtB,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,UAAA,CAAW,WAAW,CAC1C,EAAA,EAAA;AACI,IAAA,MAAM,SAAY,GAAA,UAAA,CAAW,YAAa,CAAA,CAAA,EAAG,GAAG,CAAC,CAAA,CAAA;AAEjD,IAAA,MAAM,WAAc,GAAA,IAAI,UAAW,CAAA,SAAA,CAAU,UAAU,CAAA,CAAA;AAEvD,IAAA,WAAA,CAAY,IAAI,SAAS,CAAA,CAAA;AAEzB,IAAA,YAAA,CAAa,KAAK,WAAW,CAAA,CAAA;AAAA,GACjC;AAEA,EAAO,OAAA,YAAA,CAAA;AACX;;;;"}

View File

@@ -0,0 +1,2 @@
import type { COMPRESSED_TEXTURE_FORMATS, KTXTexture } from '../types';
export declare function getTextureFormatFromKTXTexture(ktxTexture: KTXTexture): COMPRESSED_TEXTURE_FORMATS;

View File

@@ -0,0 +1,15 @@
'use strict';
var glFormatToGPUFormat = require('./glFormatToGPUFormat.js');
var vkFormatToGPUFormat = require('./vkFormatToGPUFormat.js');
"use strict";
function getTextureFormatFromKTXTexture(ktxTexture) {
if (ktxTexture.classId === 2) {
return vkFormatToGPUFormat.vkFormatToGPUFormat(ktxTexture.vkFormat);
}
return glFormatToGPUFormat.glFormatToGPUFormat(ktxTexture.glInternalformat);
}
exports.getTextureFormatFromKTXTexture = getTextureFormatFromKTXTexture;
//# sourceMappingURL=getTextureFormatFromKTXTexture.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getTextureFormatFromKTXTexture.js","sources":["../../../../src/compressed-textures/ktx2/utils/getTextureFormatFromKTXTexture.ts"],"sourcesContent":["import { glFormatToGPUFormat } from './glFormatToGPUFormat';\nimport { vkFormatToGPUFormat } from './vkFormatToGPUFormat';\n\nimport type { COMPRESSED_TEXTURE_FORMATS, KTXTexture } from '../types';\n\nexport function getTextureFormatFromKTXTexture(ktxTexture: KTXTexture): COMPRESSED_TEXTURE_FORMATS\n{\n if (ktxTexture.classId === 2)\n {\n return vkFormatToGPUFormat(ktxTexture.vkFormat);\n }\n\n return glFormatToGPUFormat(ktxTexture.glInternalformat);\n}\n"],"names":["vkFormatToGPUFormat","glFormatToGPUFormat"],"mappings":";;;;;;AAKO,SAAS,+BAA+B,UAC/C,EAAA;AACI,EAAI,IAAA,UAAA,CAAW,YAAY,CAC3B,EAAA;AACI,IAAO,OAAAA,uCAAA,CAAoB,WAAW,QAAQ,CAAA,CAAA;AAAA,GAClD;AAEA,EAAO,OAAAC,uCAAA,CAAoB,WAAW,gBAAgB,CAAA,CAAA;AAC1D;;;;"}

View File

@@ -0,0 +1,13 @@
import { glFormatToGPUFormat } from './glFormatToGPUFormat.mjs';
import { vkFormatToGPUFormat } from './vkFormatToGPUFormat.mjs';
"use strict";
function getTextureFormatFromKTXTexture(ktxTexture) {
if (ktxTexture.classId === 2) {
return vkFormatToGPUFormat(ktxTexture.vkFormat);
}
return glFormatToGPUFormat(ktxTexture.glInternalformat);
}
export { getTextureFormatFromKTXTexture };
//# sourceMappingURL=getTextureFormatFromKTXTexture.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getTextureFormatFromKTXTexture.mjs","sources":["../../../../src/compressed-textures/ktx2/utils/getTextureFormatFromKTXTexture.ts"],"sourcesContent":["import { glFormatToGPUFormat } from './glFormatToGPUFormat';\nimport { vkFormatToGPUFormat } from './vkFormatToGPUFormat';\n\nimport type { COMPRESSED_TEXTURE_FORMATS, KTXTexture } from '../types';\n\nexport function getTextureFormatFromKTXTexture(ktxTexture: KTXTexture): COMPRESSED_TEXTURE_FORMATS\n{\n if (ktxTexture.classId === 2)\n {\n return vkFormatToGPUFormat(ktxTexture.vkFormat);\n }\n\n return glFormatToGPUFormat(ktxTexture.glInternalformat);\n}\n"],"names":[],"mappings":";;;;AAKO,SAAS,+BAA+B,UAC/C,EAAA;AACI,EAAI,IAAA,UAAA,CAAW,YAAY,CAC3B,EAAA;AACI,IAAO,OAAA,mBAAA,CAAoB,WAAW,QAAQ,CAAA,CAAA;AAAA,GAClD;AAEA,EAAO,OAAA,mBAAA,CAAoB,WAAW,gBAAgB,CAAA,CAAA;AAC1D;;;;"}

View File

@@ -0,0 +1,2 @@
import type { COMPRESSED_TEXTURE_FORMATS } from '../types';
export declare function glFormatToGPUFormat(glInternalFormat: number): COMPRESSED_TEXTURE_FORMATS;

View File

@@ -0,0 +1,63 @@
'use strict';
"use strict";
const glFormatToGPUFormatMap = {
6408: "rgba8unorm",
32856: "bgra8unorm",
//
32857: "rgb10a2unorm",
33189: "depth16unorm",
33190: "depth24plus",
33321: "r8unorm",
33323: "rg8unorm",
33325: "r16float",
33326: "r32float",
33327: "rg16float",
33328: "rg32float",
33329: "r8sint",
33330: "r8uint",
33331: "r16sint",
33332: "r16uint",
33333: "r32sint",
33334: "r32uint",
33335: "rg8sint",
33336: "rg8uint",
33337: "rg16sint",
33338: "rg16uint",
33339: "rg32sint",
33340: "rg32uint",
33778: "bc2-rgba-unorm",
33779: "bc3-rgba-unorm",
34836: "rgba32float",
34842: "rgba16float",
35056: "depth24plus-stencil8",
35898: "rg11b10ufloat",
35901: "rgb9e5ufloat",
35907: "rgba8unorm-srgb",
// bgra8unorm-srgb
36012: "depth32float",
36013: "depth32float-stencil8",
36168: "stencil8",
36208: "rgba32uint",
36214: "rgba16uint",
36220: "rgba8uint",
36226: "rgba32sint",
36232: "rgba16sint",
36238: "rgba8sint",
36492: "bc7-rgba-unorm",
36756: "r8snorm",
36757: "rg8snorm",
36759: "rgba8snorm",
37496: "etc2-rgba8unorm",
37808: "astc-4x4-unorm"
};
function glFormatToGPUFormat(glInternalFormat) {
const format = glFormatToGPUFormatMap[glInternalFormat];
if (format) {
return format;
}
throw new Error(`Unsupported glInternalFormat: ${glInternalFormat}`);
}
exports.glFormatToGPUFormat = glFormatToGPUFormat;
//# sourceMappingURL=glFormatToGPUFormat.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"glFormatToGPUFormat.js","sources":["../../../../src/compressed-textures/ktx2/utils/glFormatToGPUFormat.ts"],"sourcesContent":["import type { COMPRESSED_TEXTURE_FORMATS } from '../types';\n\nconst glFormatToGPUFormatMap: Record<number, COMPRESSED_TEXTURE_FORMATS> = {\n 6408: 'rgba8unorm',\n 32856: 'bgra8unorm', //\n 32857: 'rgb10a2unorm',\n 33189: 'depth16unorm',\n 33190: 'depth24plus',\n 33321: 'r8unorm',\n 33323: 'rg8unorm',\n 33325: 'r16float',\n 33326: 'r32float',\n 33327: 'rg16float',\n 33328: 'rg32float',\n 33329: 'r8sint',\n 33330: 'r8uint',\n 33331: 'r16sint',\n 33332: 'r16uint',\n 33333: 'r32sint',\n 33334: 'r32uint',\n 33335: 'rg8sint',\n 33336: 'rg8uint',\n 33337: 'rg16sint',\n 33338: 'rg16uint',\n 33339: 'rg32sint',\n 33340: 'rg32uint',\n 33778: 'bc2-rgba-unorm',\n 33779: 'bc3-rgba-unorm',\n 34836: 'rgba32float',\n 34842: 'rgba16float',\n 35056: 'depth24plus-stencil8',\n 35898: 'rg11b10ufloat',\n 35901: 'rgb9e5ufloat',\n 35907: 'rgba8unorm-srgb', // bgra8unorm-srgb\n 36012: 'depth32float',\n 36013: 'depth32float-stencil8',\n 36168: 'stencil8',\n 36208: 'rgba32uint',\n 36214: 'rgba16uint',\n 36220: 'rgba8uint',\n 36226: 'rgba32sint',\n 36232: 'rgba16sint',\n 36238: 'rgba8sint',\n 36492: 'bc7-rgba-unorm',\n 36756: 'r8snorm',\n 36757: 'rg8snorm',\n 36759: 'rgba8snorm',\n 37496: 'etc2-rgba8unorm',\n 37808: 'astc-4x4-unorm'\n};\n\nexport function glFormatToGPUFormat(glInternalFormat: number): COMPRESSED_TEXTURE_FORMATS\n{\n const format = glFormatToGPUFormatMap[glInternalFormat];\n\n if (format)\n {\n return format;\n }\n\n throw new Error(`Unsupported glInternalFormat: ${glInternalFormat}`);\n}\n"],"names":[],"mappings":";;;AAEA,MAAM,sBAAqE,GAAA;AAAA,EACvE,IAAM,EAAA,YAAA;AAAA,EACN,KAAO,EAAA,YAAA;AAAA;AAAA,EACP,KAAO,EAAA,cAAA;AAAA,EACP,KAAO,EAAA,cAAA;AAAA,EACP,KAAO,EAAA,aAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA,QAAA;AAAA,EACP,KAAO,EAAA,QAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA,aAAA;AAAA,EACP,KAAO,EAAA,aAAA;AAAA,EACP,KAAO,EAAA,sBAAA;AAAA,EACP,KAAO,EAAA,eAAA;AAAA,EACP,KAAO,EAAA,cAAA;AAAA,EACP,KAAO,EAAA,iBAAA;AAAA;AAAA,EACP,KAAO,EAAA,cAAA;AAAA,EACP,KAAO,EAAA,uBAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,iBAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AACX,CAAA,CAAA;AAEO,SAAS,oBAAoB,gBACpC,EAAA;AACI,EAAM,MAAA,MAAA,GAAS,uBAAuB,gBAAgB,CAAA,CAAA;AAEtD,EAAA,IAAI,MACJ,EAAA;AACI,IAAO,OAAA,MAAA,CAAA;AAAA,GACX;AAEA,EAAA,MAAM,IAAI,KAAA,CAAM,CAAiC,8BAAA,EAAA,gBAAgB,CAAE,CAAA,CAAA,CAAA;AACvE;;;;"}

View File

@@ -0,0 +1,61 @@
"use strict";
const glFormatToGPUFormatMap = {
6408: "rgba8unorm",
32856: "bgra8unorm",
//
32857: "rgb10a2unorm",
33189: "depth16unorm",
33190: "depth24plus",
33321: "r8unorm",
33323: "rg8unorm",
33325: "r16float",
33326: "r32float",
33327: "rg16float",
33328: "rg32float",
33329: "r8sint",
33330: "r8uint",
33331: "r16sint",
33332: "r16uint",
33333: "r32sint",
33334: "r32uint",
33335: "rg8sint",
33336: "rg8uint",
33337: "rg16sint",
33338: "rg16uint",
33339: "rg32sint",
33340: "rg32uint",
33778: "bc2-rgba-unorm",
33779: "bc3-rgba-unorm",
34836: "rgba32float",
34842: "rgba16float",
35056: "depth24plus-stencil8",
35898: "rg11b10ufloat",
35901: "rgb9e5ufloat",
35907: "rgba8unorm-srgb",
// bgra8unorm-srgb
36012: "depth32float",
36013: "depth32float-stencil8",
36168: "stencil8",
36208: "rgba32uint",
36214: "rgba16uint",
36220: "rgba8uint",
36226: "rgba32sint",
36232: "rgba16sint",
36238: "rgba8sint",
36492: "bc7-rgba-unorm",
36756: "r8snorm",
36757: "rg8snorm",
36759: "rgba8snorm",
37496: "etc2-rgba8unorm",
37808: "astc-4x4-unorm"
};
function glFormatToGPUFormat(glInternalFormat) {
const format = glFormatToGPUFormatMap[glInternalFormat];
if (format) {
return format;
}
throw new Error(`Unsupported glInternalFormat: ${glInternalFormat}`);
}
export { glFormatToGPUFormat };
//# sourceMappingURL=glFormatToGPUFormat.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"glFormatToGPUFormat.mjs","sources":["../../../../src/compressed-textures/ktx2/utils/glFormatToGPUFormat.ts"],"sourcesContent":["import type { COMPRESSED_TEXTURE_FORMATS } from '../types';\n\nconst glFormatToGPUFormatMap: Record<number, COMPRESSED_TEXTURE_FORMATS> = {\n 6408: 'rgba8unorm',\n 32856: 'bgra8unorm', //\n 32857: 'rgb10a2unorm',\n 33189: 'depth16unorm',\n 33190: 'depth24plus',\n 33321: 'r8unorm',\n 33323: 'rg8unorm',\n 33325: 'r16float',\n 33326: 'r32float',\n 33327: 'rg16float',\n 33328: 'rg32float',\n 33329: 'r8sint',\n 33330: 'r8uint',\n 33331: 'r16sint',\n 33332: 'r16uint',\n 33333: 'r32sint',\n 33334: 'r32uint',\n 33335: 'rg8sint',\n 33336: 'rg8uint',\n 33337: 'rg16sint',\n 33338: 'rg16uint',\n 33339: 'rg32sint',\n 33340: 'rg32uint',\n 33778: 'bc2-rgba-unorm',\n 33779: 'bc3-rgba-unorm',\n 34836: 'rgba32float',\n 34842: 'rgba16float',\n 35056: 'depth24plus-stencil8',\n 35898: 'rg11b10ufloat',\n 35901: 'rgb9e5ufloat',\n 35907: 'rgba8unorm-srgb', // bgra8unorm-srgb\n 36012: 'depth32float',\n 36013: 'depth32float-stencil8',\n 36168: 'stencil8',\n 36208: 'rgba32uint',\n 36214: 'rgba16uint',\n 36220: 'rgba8uint',\n 36226: 'rgba32sint',\n 36232: 'rgba16sint',\n 36238: 'rgba8sint',\n 36492: 'bc7-rgba-unorm',\n 36756: 'r8snorm',\n 36757: 'rg8snorm',\n 36759: 'rgba8snorm',\n 37496: 'etc2-rgba8unorm',\n 37808: 'astc-4x4-unorm'\n};\n\nexport function glFormatToGPUFormat(glInternalFormat: number): COMPRESSED_TEXTURE_FORMATS\n{\n const format = glFormatToGPUFormatMap[glInternalFormat];\n\n if (format)\n {\n return format;\n }\n\n throw new Error(`Unsupported glInternalFormat: ${glInternalFormat}`);\n}\n"],"names":[],"mappings":";AAEA,MAAM,sBAAqE,GAAA;AAAA,EACvE,IAAM,EAAA,YAAA;AAAA,EACN,KAAO,EAAA,YAAA;AAAA;AAAA,EACP,KAAO,EAAA,cAAA;AAAA,EACP,KAAO,EAAA,cAAA;AAAA,EACP,KAAO,EAAA,aAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA,QAAA;AAAA,EACP,KAAO,EAAA,QAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA,aAAA;AAAA,EACP,KAAO,EAAA,aAAA;AAAA,EACP,KAAO,EAAA,sBAAA;AAAA,EACP,KAAO,EAAA,eAAA;AAAA,EACP,KAAO,EAAA,cAAA;AAAA,EACP,KAAO,EAAA,iBAAA;AAAA;AAAA,EACP,KAAO,EAAA,cAAA;AAAA,EACP,KAAO,EAAA,uBAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,iBAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AACX,CAAA,CAAA;AAEO,SAAS,oBAAoB,gBACpC,EAAA;AACI,EAAM,MAAA,MAAA,GAAS,uBAAuB,gBAAgB,CAAA,CAAA;AAEtD,EAAA,IAAI,MACJ,EAAA;AACI,IAAO,OAAA,MAAA,CAAA;AAAA,GACX;AAEA,EAAA,MAAM,IAAI,KAAA,CAAM,CAAiC,8BAAA,EAAA,gBAAgB,CAAE,CAAA,CAAA,CAAA;AACvE;;;;"}

View File

@@ -0,0 +1 @@
export declare function gpuFormatToKTXBasisTranscoderFormat(transcoderFormat: string): string;

View File

@@ -0,0 +1,22 @@
'use strict';
"use strict";
const gpuFormatToBasisTranscoderFormatMap = {
"bc3-rgba-unorm": "BC3_RGBA",
"bc7-rgba-unorm": "BC7_M5_RGBA",
"etc2-rgba8unorm": "ETC2_RGBA",
"astc-4x4-unorm": "ASTC_4x4_RGBA",
// Uncompressed
rgba8unorm: "RGBA32",
rg11b10ufloat: "R11F_G11F_B10F"
};
function gpuFormatToKTXBasisTranscoderFormat(transcoderFormat) {
const format = gpuFormatToBasisTranscoderFormatMap[transcoderFormat];
if (format) {
return format;
}
throw new Error(`Unsupported transcoderFormat: ${transcoderFormat}`);
}
exports.gpuFormatToKTXBasisTranscoderFormat = gpuFormatToKTXBasisTranscoderFormat;
//# sourceMappingURL=gpuFormatToKTXBasisTranscoderFormat.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"gpuFormatToKTXBasisTranscoderFormat.js","sources":["../../../../src/compressed-textures/ktx2/utils/gpuFormatToKTXBasisTranscoderFormat.ts"],"sourcesContent":["const gpuFormatToBasisTranscoderFormatMap: Record<string, string> = {\n 'bc3-rgba-unorm': 'BC3_RGBA',\n 'bc7-rgba-unorm': 'BC7_M5_RGBA',\n 'etc2-rgba8unorm': 'ETC2_RGBA',\n 'astc-4x4-unorm': 'ASTC_4x4_RGBA',\n // Uncompressed\n rgba8unorm: 'RGBA32',\n rg11b10ufloat: 'R11F_G11F_B10F',\n};\n\nexport function gpuFormatToKTXBasisTranscoderFormat(transcoderFormat: string): string\n{\n const format = gpuFormatToBasisTranscoderFormatMap[transcoderFormat];\n\n if (format)\n {\n return format;\n }\n\n throw new Error(`Unsupported transcoderFormat: ${transcoderFormat}`);\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,mCAA8D,GAAA;AAAA,EAChE,gBAAkB,EAAA,UAAA;AAAA,EAClB,gBAAkB,EAAA,aAAA;AAAA,EAClB,iBAAmB,EAAA,WAAA;AAAA,EACnB,gBAAkB,EAAA,eAAA;AAAA;AAAA,EAElB,UAAY,EAAA,QAAA;AAAA,EACZ,aAAe,EAAA,gBAAA;AACnB,CAAA,CAAA;AAEO,SAAS,oCAAoC,gBACpD,EAAA;AACI,EAAM,MAAA,MAAA,GAAS,oCAAoC,gBAAgB,CAAA,CAAA;AAEnE,EAAA,IAAI,MACJ,EAAA;AACI,IAAO,OAAA,MAAA,CAAA;AAAA,GACX;AAEA,EAAA,MAAM,IAAI,KAAA,CAAM,CAAiC,8BAAA,EAAA,gBAAgB,CAAE,CAAA,CAAA,CAAA;AACvE;;;;"}

View File

@@ -0,0 +1,20 @@
"use strict";
const gpuFormatToBasisTranscoderFormatMap = {
"bc3-rgba-unorm": "BC3_RGBA",
"bc7-rgba-unorm": "BC7_M5_RGBA",
"etc2-rgba8unorm": "ETC2_RGBA",
"astc-4x4-unorm": "ASTC_4x4_RGBA",
// Uncompressed
rgba8unorm: "RGBA32",
rg11b10ufloat: "R11F_G11F_B10F"
};
function gpuFormatToKTXBasisTranscoderFormat(transcoderFormat) {
const format = gpuFormatToBasisTranscoderFormatMap[transcoderFormat];
if (format) {
return format;
}
throw new Error(`Unsupported transcoderFormat: ${transcoderFormat}`);
}
export { gpuFormatToKTXBasisTranscoderFormat };
//# sourceMappingURL=gpuFormatToKTXBasisTranscoderFormat.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"gpuFormatToKTXBasisTranscoderFormat.mjs","sources":["../../../../src/compressed-textures/ktx2/utils/gpuFormatToKTXBasisTranscoderFormat.ts"],"sourcesContent":["const gpuFormatToBasisTranscoderFormatMap: Record<string, string> = {\n 'bc3-rgba-unorm': 'BC3_RGBA',\n 'bc7-rgba-unorm': 'BC7_M5_RGBA',\n 'etc2-rgba8unorm': 'ETC2_RGBA',\n 'astc-4x4-unorm': 'ASTC_4x4_RGBA',\n // Uncompressed\n rgba8unorm: 'RGBA32',\n rg11b10ufloat: 'R11F_G11F_B10F',\n};\n\nexport function gpuFormatToKTXBasisTranscoderFormat(transcoderFormat: string): string\n{\n const format = gpuFormatToBasisTranscoderFormatMap[transcoderFormat];\n\n if (format)\n {\n return format;\n }\n\n throw new Error(`Unsupported transcoderFormat: ${transcoderFormat}`);\n}\n"],"names":[],"mappings":";AAAA,MAAM,mCAA8D,GAAA;AAAA,EAChE,gBAAkB,EAAA,UAAA;AAAA,EAClB,gBAAkB,EAAA,aAAA;AAAA,EAClB,iBAAmB,EAAA,WAAA;AAAA,EACnB,gBAAkB,EAAA,eAAA;AAAA;AAAA,EAElB,UAAY,EAAA,QAAA;AAAA,EACZ,aAAe,EAAA,gBAAA;AACnB,CAAA,CAAA;AAEO,SAAS,oCAAoC,gBACpD,EAAA;AACI,EAAM,MAAA,MAAA,GAAS,oCAAoC,gBAAgB,CAAA,CAAA;AAEnE,EAAA,IAAI,MACJ,EAAA;AACI,IAAO,OAAA,MAAA,CAAA;AAAA,GACX;AAEA,EAAA,MAAM,IAAI,KAAA,CAAM,CAAiC,8BAAA,EAAA,gBAAgB,CAAE,CAAA,CAAA,CAAA;AACvE;;;;"}

View File

@@ -0,0 +1,5 @@
export declare const ktxTranscoderUrls: {
jsUrl: string;
wasmUrl: string;
};
export declare function setKTXTranscoderPath(config: Partial<typeof ktxTranscoderUrls>): void;

View File

@@ -0,0 +1,14 @@
'use strict';
"use strict";
const ktxTranscoderUrls = {
jsUrl: "https://files.pixijs.download/transcoders/ktx/libktx.js",
wasmUrl: "https://files.pixijs.download/transcoders/ktx/libktx.wasm"
};
function setKTXTranscoderPath(config) {
Object.assign(ktxTranscoderUrls, config);
}
exports.ktxTranscoderUrls = ktxTranscoderUrls;
exports.setKTXTranscoderPath = setKTXTranscoderPath;
//# sourceMappingURL=setKTXTranscoderPath.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"setKTXTranscoderPath.js","sources":["../../../../src/compressed-textures/ktx2/utils/setKTXTranscoderPath.ts"],"sourcesContent":["export const ktxTranscoderUrls = {\n jsUrl: 'https://files.pixijs.download/transcoders/ktx/libktx.js',\n wasmUrl: 'https://files.pixijs.download/transcoders/ktx/libktx.wasm'\n};\n\nexport function setKTXTranscoderPath(config: Partial<typeof ktxTranscoderUrls>)\n{\n Object.assign(ktxTranscoderUrls, config);\n}\n"],"names":[],"mappings":";;;AAAO,MAAM,iBAAoB,GAAA;AAAA,EAC7B,KAAO,EAAA,yDAAA;AAAA,EACP,OAAS,EAAA,2DAAA;AACb,EAAA;AAEO,SAAS,qBAAqB,MACrC,EAAA;AACI,EAAO,MAAA,CAAA,MAAA,CAAO,mBAAmB,MAAM,CAAA,CAAA;AAC3C;;;;;"}

View File

@@ -0,0 +1,11 @@
"use strict";
const ktxTranscoderUrls = {
jsUrl: "https://files.pixijs.download/transcoders/ktx/libktx.js",
wasmUrl: "https://files.pixijs.download/transcoders/ktx/libktx.wasm"
};
function setKTXTranscoderPath(config) {
Object.assign(ktxTranscoderUrls, config);
}
export { ktxTranscoderUrls, setKTXTranscoderPath };
//# sourceMappingURL=setKTXTranscoderPath.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"setKTXTranscoderPath.mjs","sources":["../../../../src/compressed-textures/ktx2/utils/setKTXTranscoderPath.ts"],"sourcesContent":["export const ktxTranscoderUrls = {\n jsUrl: 'https://files.pixijs.download/transcoders/ktx/libktx.js',\n wasmUrl: 'https://files.pixijs.download/transcoders/ktx/libktx.wasm'\n};\n\nexport function setKTXTranscoderPath(config: Partial<typeof ktxTranscoderUrls>)\n{\n Object.assign(ktxTranscoderUrls, config);\n}\n"],"names":[],"mappings":";AAAO,MAAM,iBAAoB,GAAA;AAAA,EAC7B,KAAO,EAAA,yDAAA;AAAA,EACP,OAAS,EAAA,2DAAA;AACb,EAAA;AAEO,SAAS,qBAAqB,MACrC,EAAA;AACI,EAAO,MAAA,CAAA,MAAA,CAAO,mBAAmB,MAAM,CAAA,CAAA;AAC3C;;;;"}

View File

@@ -0,0 +1,2 @@
import type { COMPRESSED_TEXTURE_FORMATS } from '../types';
export declare function vkFormatToGPUFormat(vkFormat: number): COMPRESSED_TEXTURE_FORMATS;

View File

@@ -0,0 +1,22 @@
'use strict';
"use strict";
const vkFormatToGPUFormatMap = {
23: "rgb8unorm",
// VK_FORMAT_R8G8B8_UNORM
37: "rgba8unorm",
// VK_FORMAT_R8G8B8A8_UNORM
43: "rgba8unorm-srgb"
// VK_FORMAT_R8G8B8A8_SRGB
// TODO add more!
};
function vkFormatToGPUFormat(vkFormat) {
const format = vkFormatToGPUFormatMap[vkFormat];
if (format) {
return format;
}
throw new Error(`Unsupported VkFormat: ${vkFormat}`);
}
exports.vkFormatToGPUFormat = vkFormatToGPUFormat;
//# sourceMappingURL=vkFormatToGPUFormat.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"vkFormatToGPUFormat.js","sources":["../../../../src/compressed-textures/ktx2/utils/vkFormatToGPUFormat.ts"],"sourcesContent":["import type { COMPRESSED_TEXTURE_FORMATS } from '../types';\n\nconst vkFormatToGPUFormatMap: Record<number, COMPRESSED_TEXTURE_FORMATS> = {\n 23: 'rgb8unorm', // VK_FORMAT_R8G8B8_UNORM\n 37: 'rgba8unorm', // VK_FORMAT_R8G8B8A8_UNORM\n 43: 'rgba8unorm-srgb', // VK_FORMAT_R8G8B8A8_SRGB\n // TODO add more!\n};\n\nexport function vkFormatToGPUFormat(vkFormat: number): COMPRESSED_TEXTURE_FORMATS\n{\n const format = vkFormatToGPUFormatMap[vkFormat];\n\n if (format)\n {\n return format;\n }\n\n throw new Error(`Unsupported VkFormat: ${vkFormat}`);\n}\n"],"names":[],"mappings":";;;AAEA,MAAM,sBAAqE,GAAA;AAAA,EACvE,EAAI,EAAA,WAAA;AAAA;AAAA,EACJ,EAAI,EAAA,YAAA;AAAA;AAAA,EACJ,EAAI,EAAA,iBAAA;AAAA;AAAA;AAER,CAAA,CAAA;AAEO,SAAS,oBAAoB,QACpC,EAAA;AACI,EAAM,MAAA,MAAA,GAAS,uBAAuB,QAAQ,CAAA,CAAA;AAE9C,EAAA,IAAI,MACJ,EAAA;AACI,IAAO,OAAA,MAAA,CAAA;AAAA,GACX;AAEA,EAAA,MAAM,IAAI,KAAA,CAAM,CAAyB,sBAAA,EAAA,QAAQ,CAAE,CAAA,CAAA,CAAA;AACvD;;;;"}

View File

@@ -0,0 +1,20 @@
"use strict";
const vkFormatToGPUFormatMap = {
23: "rgb8unorm",
// VK_FORMAT_R8G8B8_UNORM
37: "rgba8unorm",
// VK_FORMAT_R8G8B8A8_UNORM
43: "rgba8unorm-srgb"
// VK_FORMAT_R8G8B8A8_SRGB
// TODO add more!
};
function vkFormatToGPUFormat(vkFormat) {
const format = vkFormatToGPUFormatMap[vkFormat];
if (format) {
return format;
}
throw new Error(`Unsupported VkFormat: ${vkFormat}`);
}
export { vkFormatToGPUFormat };
//# sourceMappingURL=vkFormatToGPUFormat.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"vkFormatToGPUFormat.mjs","sources":["../../../../src/compressed-textures/ktx2/utils/vkFormatToGPUFormat.ts"],"sourcesContent":["import type { COMPRESSED_TEXTURE_FORMATS } from '../types';\n\nconst vkFormatToGPUFormatMap: Record<number, COMPRESSED_TEXTURE_FORMATS> = {\n 23: 'rgb8unorm', // VK_FORMAT_R8G8B8_UNORM\n 37: 'rgba8unorm', // VK_FORMAT_R8G8B8A8_UNORM\n 43: 'rgba8unorm-srgb', // VK_FORMAT_R8G8B8A8_SRGB\n // TODO add more!\n};\n\nexport function vkFormatToGPUFormat(vkFormat: number): COMPRESSED_TEXTURE_FORMATS\n{\n const format = vkFormatToGPUFormatMap[vkFormat];\n\n if (format)\n {\n return format;\n }\n\n throw new Error(`Unsupported VkFormat: ${vkFormat}`);\n}\n"],"names":[],"mappings":";AAEA,MAAM,sBAAqE,GAAA;AAAA,EACvE,EAAI,EAAA,WAAA;AAAA;AAAA,EACJ,EAAI,EAAA,YAAA;AAAA;AAAA,EACJ,EAAI,EAAA,iBAAA;AAAA;AAAA;AAER,CAAA,CAAA;AAEO,SAAS,oBAAoB,QACpC,EAAA;AACI,EAAM,MAAA,MAAA,GAAS,uBAAuB,QAAQ,CAAA,CAAA;AAE9C,EAAA,IAAI,MACJ,EAAA;AACI,IAAO,OAAA,MAAA,CAAA;AAAA,GACX;AAEA,EAAA,MAAM,IAAI,KAAA,CAAM,CAAyB,sBAAA,EAAA,QAAQ,CAAE,CAAA,CAAA,CAAA;AACvD;;;;"}

View File

@@ -0,0 +1 @@
export {};

View File

@@ -0,0 +1,3 @@
import type { TEXTURE_FORMATS } from '../../../rendering/renderers/shared/texture/const';
import type { TextureSourceOptions } from '../../../rendering/renderers/shared/texture/sources/TextureSource';
export declare function loadKTX2onWorker(url: string, supportedTextures: TEXTURE_FORMATS[]): Promise<TextureSourceOptions>;

View File

@@ -0,0 +1,37 @@
'use strict';
var ktx_worker = require('../../../_virtual/ktx.worker.js');
var setKTXTranscoderPath = require('../utils/setKTXTranscoderPath.js');
"use strict";
let ktxWorker;
const urlHash = {};
function getKTX2Worker(supportedTextures) {
if (!ktxWorker) {
ktxWorker = new ktx_worker.default().worker;
ktxWorker.onmessage = (messageEvent) => {
const { success, url, textureOptions } = messageEvent.data;
if (!success) {
console.warn("Failed to load KTX texture", url);
}
urlHash[url](textureOptions);
};
ktxWorker.postMessage({
type: "init",
jsUrl: setKTXTranscoderPath.ktxTranscoderUrls.jsUrl,
wasmUrl: setKTXTranscoderPath.ktxTranscoderUrls.wasmUrl,
supportedTextures
});
}
return ktxWorker;
}
function loadKTX2onWorker(url, supportedTextures) {
const ktxWorker2 = getKTX2Worker(supportedTextures);
return new Promise((resolve) => {
urlHash[url] = resolve;
ktxWorker2.postMessage({ type: "load", url });
});
}
exports.loadKTX2onWorker = loadKTX2onWorker;
//# sourceMappingURL=loadKTX2onWorker.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"loadKTX2onWorker.js","sources":["../../../../src/compressed-textures/ktx2/worker/loadKTX2onWorker.ts"],"sourcesContent":["import KTXWorker from 'worker:./ktx.worker.ts';\nimport { ktxTranscoderUrls } from '../utils/setKTXTranscoderPath';\n\nimport type { TEXTURE_FORMATS } from '../../../rendering/renderers/shared/texture/const';\nimport type { TextureSourceOptions } from '../../../rendering/renderers/shared/texture/sources/TextureSource';\n\nlet ktxWorker: Worker;\nconst urlHash: Record<string, (value: any) => void> = {};\n\nfunction getKTX2Worker(supportedTextures: TEXTURE_FORMATS[]): Worker\n{\n if (!ktxWorker)\n {\n ktxWorker = new KTXWorker().worker;\n\n ktxWorker.onmessage = (messageEvent) =>\n {\n const { success, url, textureOptions } = messageEvent.data;\n\n if (!success)\n {\n console.warn('Failed to load KTX texture', url);\n }\n\n urlHash[url](textureOptions);\n };\n\n ktxWorker.postMessage({\n type: 'init',\n jsUrl: ktxTranscoderUrls.jsUrl,\n wasmUrl: ktxTranscoderUrls.wasmUrl,\n supportedTextures\n });\n }\n\n return ktxWorker;\n}\n\nexport function loadKTX2onWorker(\n url: string,\n supportedTextures: TEXTURE_FORMATS[]\n): Promise<TextureSourceOptions>\n{\n const ktxWorker = getKTX2Worker(supportedTextures);\n\n return new Promise((resolve) =>\n {\n urlHash[url] = resolve;\n\n ktxWorker.postMessage({ type: 'load', url });\n });\n}\n"],"names":["KTXWorker","ktxTranscoderUrls","ktxWorker"],"mappings":";;;;;;AAMA,IAAI,SAAA,CAAA;AACJ,MAAM,UAAgD,EAAC,CAAA;AAEvD,SAAS,cAAc,iBACvB,EAAA;AACI,EAAA,IAAI,CAAC,SACL,EAAA;AACI,IAAY,SAAA,GAAA,IAAIA,oBAAY,CAAA,MAAA,CAAA;AAE5B,IAAU,SAAA,CAAA,SAAA,GAAY,CAAC,YACvB,KAAA;AACI,MAAA,MAAM,EAAE,OAAA,EAAS,GAAK,EAAA,cAAA,KAAmB,YAAa,CAAA,IAAA,CAAA;AAEtD,MAAA,IAAI,CAAC,OACL,EAAA;AACI,QAAQ,OAAA,CAAA,IAAA,CAAK,8BAA8B,GAAG,CAAA,CAAA;AAAA,OAClD;AAEA,MAAQ,OAAA,CAAA,GAAG,EAAE,cAAc,CAAA,CAAA;AAAA,KAC/B,CAAA;AAEA,IAAA,SAAA,CAAU,WAAY,CAAA;AAAA,MAClB,IAAM,EAAA,MAAA;AAAA,MACN,OAAOC,sCAAkB,CAAA,KAAA;AAAA,MACzB,SAASA,sCAAkB,CAAA,OAAA;AAAA,MAC3B,iBAAA;AAAA,KACH,CAAA,CAAA;AAAA,GACL;AAEA,EAAO,OAAA,SAAA,CAAA;AACX,CAAA;AAEgB,SAAA,gBAAA,CACZ,KACA,iBAEJ,EAAA;AACI,EAAMC,MAAAA,UAAAA,GAAY,cAAc,iBAAiB,CAAA,CAAA;AAEjD,EAAO,OAAA,IAAI,OAAQ,CAAA,CAAC,OACpB,KAAA;AACI,IAAA,OAAA,CAAQ,GAAG,CAAI,GAAA,OAAA,CAAA;AAEf,IAAAA,WAAU,WAAY,CAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,KAAK,CAAA,CAAA;AAAA,GAC9C,CAAA,CAAA;AACL;;;;"}

View File

@@ -0,0 +1,35 @@
import WorkerInstance from '../../../_virtual/ktx.worker.mjs';
import { ktxTranscoderUrls } from '../utils/setKTXTranscoderPath.mjs';
"use strict";
let ktxWorker;
const urlHash = {};
function getKTX2Worker(supportedTextures) {
if (!ktxWorker) {
ktxWorker = new WorkerInstance().worker;
ktxWorker.onmessage = (messageEvent) => {
const { success, url, textureOptions } = messageEvent.data;
if (!success) {
console.warn("Failed to load KTX texture", url);
}
urlHash[url](textureOptions);
};
ktxWorker.postMessage({
type: "init",
jsUrl: ktxTranscoderUrls.jsUrl,
wasmUrl: ktxTranscoderUrls.wasmUrl,
supportedTextures
});
}
return ktxWorker;
}
function loadKTX2onWorker(url, supportedTextures) {
const ktxWorker2 = getKTX2Worker(supportedTextures);
return new Promise((resolve) => {
urlHash[url] = resolve;
ktxWorker2.postMessage({ type: "load", url });
});
}
export { loadKTX2onWorker };
//# sourceMappingURL=loadKTX2onWorker.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"loadKTX2onWorker.mjs","sources":["../../../../src/compressed-textures/ktx2/worker/loadKTX2onWorker.ts"],"sourcesContent":["import KTXWorker from 'worker:./ktx.worker.ts';\nimport { ktxTranscoderUrls } from '../utils/setKTXTranscoderPath';\n\nimport type { TEXTURE_FORMATS } from '../../../rendering/renderers/shared/texture/const';\nimport type { TextureSourceOptions } from '../../../rendering/renderers/shared/texture/sources/TextureSource';\n\nlet ktxWorker: Worker;\nconst urlHash: Record<string, (value: any) => void> = {};\n\nfunction getKTX2Worker(supportedTextures: TEXTURE_FORMATS[]): Worker\n{\n if (!ktxWorker)\n {\n ktxWorker = new KTXWorker().worker;\n\n ktxWorker.onmessage = (messageEvent) =>\n {\n const { success, url, textureOptions } = messageEvent.data;\n\n if (!success)\n {\n console.warn('Failed to load KTX texture', url);\n }\n\n urlHash[url](textureOptions);\n };\n\n ktxWorker.postMessage({\n type: 'init',\n jsUrl: ktxTranscoderUrls.jsUrl,\n wasmUrl: ktxTranscoderUrls.wasmUrl,\n supportedTextures\n });\n }\n\n return ktxWorker;\n}\n\nexport function loadKTX2onWorker(\n url: string,\n supportedTextures: TEXTURE_FORMATS[]\n): Promise<TextureSourceOptions>\n{\n const ktxWorker = getKTX2Worker(supportedTextures);\n\n return new Promise((resolve) =>\n {\n urlHash[url] = resolve;\n\n ktxWorker.postMessage({ type: 'load', url });\n });\n}\n"],"names":["KTXWorker","ktxWorker"],"mappings":";;;;AAMA,IAAI,SAAA,CAAA;AACJ,MAAM,UAAgD,EAAC,CAAA;AAEvD,SAAS,cAAc,iBACvB,EAAA;AACI,EAAA,IAAI,CAAC,SACL,EAAA;AACI,IAAY,SAAA,GAAA,IAAIA,gBAAY,CAAA,MAAA,CAAA;AAE5B,IAAU,SAAA,CAAA,SAAA,GAAY,CAAC,YACvB,KAAA;AACI,MAAA,MAAM,EAAE,OAAA,EAAS,GAAK,EAAA,cAAA,KAAmB,YAAa,CAAA,IAAA,CAAA;AAEtD,MAAA,IAAI,CAAC,OACL,EAAA;AACI,QAAQ,OAAA,CAAA,IAAA,CAAK,8BAA8B,GAAG,CAAA,CAAA;AAAA,OAClD;AAEA,MAAQ,OAAA,CAAA,GAAG,EAAE,cAAc,CAAA,CAAA;AAAA,KAC/B,CAAA;AAEA,IAAA,SAAA,CAAU,WAAY,CAAA;AAAA,MAClB,IAAM,EAAA,MAAA;AAAA,MACN,OAAO,iBAAkB,CAAA,KAAA;AAAA,MACzB,SAAS,iBAAkB,CAAA,OAAA;AAAA,MAC3B,iBAAA;AAAA,KACH,CAAA,CAAA;AAAA,GACL;AAEA,EAAO,OAAA,SAAA,CAAA;AACX,CAAA;AAEgB,SAAA,gBAAA,CACZ,KACA,iBAEJ,EAAA;AACI,EAAMC,MAAAA,UAAAA,GAAY,cAAc,iBAAiB,CAAA,CAAA;AAEjD,EAAO,OAAA,IAAI,OAAQ,CAAA,CAAC,OACpB,KAAA;AACI,IAAA,OAAA,CAAQ,GAAG,CAAI,GAAA,OAAA,CAAA;AAEf,IAAAA,WAAU,WAAY,CAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,KAAK,CAAA,CAAA;AAAA,GAC9C,CAAA,CAAA;AACL;;;;"}