Skip to main content
Version: Phaser v4.0.0

CompressedTextureFile

A Compressed Texture File is a special MultiFile that handles loading GPU-native compressed texture formats such as PVR and KTX container files. It supports a range of internal compression formats including ASTC, S3TC, ETC, PVRTC, and others, selecting the best format supported by the current GPU at load time.

It can load a single compressed texture, a compressed texture with an accompanying JSON atlas, or a multi-atlas as exported by Texture Packer Pro. An IMG fallback entry may also be provided for browsers or GPUs that do not support any of the compressed formats.

These are created when you use the Phaser.Loader.LoaderPlugin#texture method and are not typically created directly.

For documentation about what all the arguments and configuration options mean please see Phaser.Loader.LoaderPlugin#texture.

Constructor

new CompressedTextureFile(loader, key, entry, [xhrSettings])

Parameters

nametypeoptionaldescription
loaderPhaser.Loader.LoaderPluginNoA reference to the Loader that is responsible for this file.
keystringNoThe key to use for this file.
entryPhaser.Types.Loader.FileTypes.CompressedTextureFileEntryNoThe compressed texture file entry to load.
xhrSettingsPhaser.Types.Loader.XHRSettingsObjectYesExtra XHR Settings specifically for this file.

Scope: static

Extends

Phaser.Loader.MultiFile

Source: src/loader/filetypes/CompressedTextureFile.js#L22
Since: 3.60.0

Inherited Methods

From Phaser.Loader.MultiFile:


Public Methods

addMultiToCache

<instance> addMultiToCache()

Description:

Adds all of the multi-file entries to their target caches upon successful loading and processing. Iterates over each binary texture file in the multi-atlas, parses it using the PVR or KTX parser, and matches it against its corresponding entry in the JSON manifest. Only textures whose compression format is supported by the current GPU are included. Any associated normal maps are collected and passed through as well. The resulting images, atlas data, and normal maps are registered together with the Texture Manager as a JSON array atlas.

Source: src/loader/filetypes/CompressedTextureFile.js#L272
Since: 3.60.0


addToCache

<instance> addToCache()

Description:

Adds this file to its target cache upon successful loading and processing. If the file is a multi-atlas it delegates to addMultiToCache. Otherwise, it parses the binary texture data using either the PVR or KTX parser, verifies that the texture dimensions meet the requirements of the compression format, and checks that the GPU supports the internal format. If all checks pass the texture is added to the Texture Manager, optionally with JSON atlas data if one was loaded alongside it. A console warning is issued for any texture that fails validation.

Source: src/loader/filetypes/CompressedTextureFile.js#L196
Since: 3.60.0


onFileComplete

<instance> onFileComplete(file)

Description:

Called by each File when it finishes loading. Decrements the pending file count and, when loading a multi-atlas configuration, parses the completed JSON manifest to dynamically queue additional BinaryFile instances for each texture referenced in the atlas, along with any associated normal maps. The loader's base URL, path, and prefix are temporarily adjusted to the multi-atlas settings during this process and then restored afterwards.

Parameters:

nametypeoptionaldescription
filePhaser.Loader.FileNoThe File that has completed processing.

Overrides: Phaser.Loader.MultiFile#onFileComplete

Source: src/loader/filetypes/CompressedTextureFile.js#L103
Since: 3.60.0


Inherited Members

From Phaser.Loader.MultiFile: