Initial
This commit is contained in:
32
resources/app/node_modules/@pixi/basis/lib/loader/loadBasis.js
generated
vendored
Normal file
32
resources/app/node_modules/@pixi/basis/lib/loader/loadBasis.js
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
"use strict";
|
||||
var assets = require("@pixi/assets"), compressedTextures = require("@pixi/compressed-textures"), core = require("@pixi/core"), Basis = require("../Basis.js"), TranscoderWorker = require("../TranscoderWorker.js"), BasisParser = require("./BasisParser.js");
|
||||
const loadBasis = {
|
||||
extension: {
|
||||
type: core.ExtensionType.LoadParser,
|
||||
priority: assets.LoaderParserPriority.High
|
||||
},
|
||||
name: "loadBasis",
|
||||
test(url) {
|
||||
return assets.checkExtension(url, ".basis");
|
||||
},
|
||||
async load(url, asset, loader) {
|
||||
await TranscoderWorker.TranscoderWorker.onTranscoderInitialized;
|
||||
const arrayBuffer = await (await core.settings.ADAPTER.fetch(url)).arrayBuffer(), resources = await BasisParser.BasisParser.transcode(arrayBuffer), type = Basis.BASIS_FORMAT_TO_TYPE[resources.basisFormat], format = resources.basisFormat !== Basis.BASIS_FORMATS.cTFRGBA32 ? core.FORMATS.RGB : core.FORMATS.RGBA, textures = resources.map((resource) => {
|
||||
const base = new core.BaseTexture(resource, {
|
||||
mipmap: resource instanceof compressedTextures.CompressedTextureResource && resource.levels > 1 ? core.MIPMAP_MODES.ON_MANUAL : core.MIPMAP_MODES.OFF,
|
||||
alphaMode: core.ALPHA_MODES.NO_PREMULTIPLIED_ALPHA,
|
||||
type,
|
||||
format,
|
||||
...asset.data
|
||||
});
|
||||
return assets.createTexture(base, loader, url);
|
||||
});
|
||||
return textures.length === 1 ? textures[0] : textures;
|
||||
},
|
||||
unload(texture) {
|
||||
Array.isArray(texture) ? texture.forEach((t) => t.destroy(!0)) : texture.destroy(!0);
|
||||
}
|
||||
};
|
||||
core.extensions.add(loadBasis);
|
||||
exports.loadBasis = loadBasis;
|
||||
//# sourceMappingURL=loadBasis.js.map
|
||||
Reference in New Issue
Block a user