UNPKG

pixi-basis-ktx2

Version:

Loader for the *.basis & *.ktx2 supercompressed texture file format. This package also ships with the transcoder!

89 lines 4.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BASIS_FORMATS_ALPHA = exports.INTERNAL_FORMAT_TO_BASIS_FORMAT = exports.BASIS_FORMAT_TO_TYPE = exports.BASIS_FORMAT_TO_INTERNAL_FORMAT = exports.BASIS_FORMATS = void 0; /* eslint-disable @typescript-eslint/no-unsafe-return */ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/no-explicit-any */ const compressed_textures_1 = require("@pixi/compressed-textures"); const core_1 = require("@pixi/core"); /** * The transcoding formats provided by basis_universal. * * NOTE: Not all of these formats are supported on WebGL! * @ignore */ /* eslint-disable camelcase, @typescript-eslint/indent */ var BASIS_FORMATS; (function (BASIS_FORMATS) { BASIS_FORMATS[BASIS_FORMATS["cTFETC1"] = 0] = "cTFETC1"; BASIS_FORMATS[BASIS_FORMATS["cTFETC2"] = 1] = "cTFETC2"; BASIS_FORMATS[BASIS_FORMATS["cTFBC1"] = 2] = "cTFBC1"; BASIS_FORMATS[BASIS_FORMATS["cTFBC3"] = 3] = "cTFBC3"; BASIS_FORMATS[BASIS_FORMATS["cTFBC4"] = 4] = "cTFBC4"; BASIS_FORMATS[BASIS_FORMATS["cTFBC5"] = 5] = "cTFBC5"; BASIS_FORMATS[BASIS_FORMATS["cTFBC7"] = 6] = "cTFBC7"; BASIS_FORMATS[BASIS_FORMATS["cTFPVRTC1_4_RGB"] = 8] = "cTFPVRTC1_4_RGB"; BASIS_FORMATS[BASIS_FORMATS["cTFPVRTC1_4_RGBA"] = 9] = "cTFPVRTC1_4_RGBA"; BASIS_FORMATS[BASIS_FORMATS["cTFASTC_4x4"] = 10] = "cTFASTC_4x4"; BASIS_FORMATS[BASIS_FORMATS["cTFATC_RGB"] = 11] = "cTFATC_RGB"; BASIS_FORMATS[BASIS_FORMATS["cTFATC_RGBA_INTERPOLATED_ALPHA"] = 12] = "cTFATC_RGBA_INTERPOLATED_ALPHA"; BASIS_FORMATS[BASIS_FORMATS["cTFRGBA32"] = 13] = "cTFRGBA32"; BASIS_FORMATS[BASIS_FORMATS["cTFRGB565"] = 14] = "cTFRGB565"; BASIS_FORMATS[BASIS_FORMATS["cTFBGR565"] = 15] = "cTFBGR565"; BASIS_FORMATS[BASIS_FORMATS["cTFRGBA4444"] = 16] = "cTFRGBA4444"; // cTFFXT1_RGB = 17, // cTFPVRTC2_4_RGB = 18, // cTFPVRTC2_4_RGBA = 19, // cTFETC2_EAC_R11 = 20, // cTFETC2_EAC_RG11 = 21 })(BASIS_FORMATS || (exports.BASIS_FORMATS = BASIS_FORMATS = {})); /* eslint-enable camelcase, @typescript-eslint/indent */ /** * Maps {@link BASIS_FORMATS} to {@link PIXI.INTERNAL_FORMATS} * @ignore */ exports.BASIS_FORMAT_TO_INTERNAL_FORMAT = { [BASIS_FORMATS.cTFETC1]: compressed_textures_1.INTERNAL_FORMATS.COMPRESSED_RGB_ETC1_WEBGL, [BASIS_FORMATS.cTFBC1]: compressed_textures_1.INTERNAL_FORMATS.COMPRESSED_RGB_S3TC_DXT1_EXT, [BASIS_FORMATS.cTFBC3]: compressed_textures_1.INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT5_EXT, [BASIS_FORMATS.cTFPVRTC1_4_RGB]: compressed_textures_1.INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG, [BASIS_FORMATS.cTFPVRTC1_4_RGBA]: compressed_textures_1.INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, [BASIS_FORMATS.cTFATC_RGB]: compressed_textures_1.INTERNAL_FORMATS.COMPRESSED_RGB_ATC_WEBGL, [BASIS_FORMATS.cTFASTC_4x4]: compressed_textures_1.INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_4x4_KHR, [BASIS_FORMATS.cTFBC7]: compressed_textures_1.INTERNAL_FORMATS.COMPRESSED_RGBA_BPTC_UNORM_EXT, }; /** * Maps {@link BASIS_FORMATS} to {@link PIXI.TYPES}. These formats are a fallback when the basis file cannot be transcoded * to a valid compressed texture format. * * NOTE: {@link BASIS_FORMATS.cTFBGR565} is not supported, while {@link BASIS_FORMATS.cTFRGBA4444} is not implemented by * [at]pixi/basis. * @ignore */ exports.BASIS_FORMAT_TO_TYPE = { [BASIS_FORMATS.cTFRGBA32]: core_1.TYPES.UNSIGNED_BYTE, [BASIS_FORMATS.cTFRGB565]: core_1.TYPES.UNSIGNED_SHORT_5_6_5, [BASIS_FORMATS.cTFRGBA4444]: core_1.TYPES.UNSIGNED_SHORT_4_4_4_4, }; /** * Maps {@link PIXI.INTERNAL_FORMATS} to {@link BASIS_FORMATS} * @ignore */ exports.INTERNAL_FORMAT_TO_BASIS_FORMAT = Object.keys(exports.BASIS_FORMAT_TO_INTERNAL_FORMAT) .map((key) => Number(key)) .reduce((reverseMap, basisFormat) => { reverseMap[exports.BASIS_FORMAT_TO_INTERNAL_FORMAT[basisFormat]] = basisFormat; return reverseMap; }, {}); /** * Enumerates the basis formats with alpha components * @ignore */ exports.BASIS_FORMATS_ALPHA = { [BASIS_FORMATS.cTFBC3]: true, [BASIS_FORMATS.cTFPVRTC1_4_RGBA]: true, [BASIS_FORMATS.cTFASTC_4x4]: true, [BASIS_FORMATS.cTFBC7]: true, }; //# sourceMappingURL=Basis.js.map