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
JavaScript
;
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