[page:Loader] →
Loader for KTX 2.0 GPU Texture containers.
KTX 2.0 is a container format for various GPU texture formats. The loader supports Basis Universal GPU textures, which can be quickly transcoded to a wide variety of GPU texture compression formats. While KTX 2.0 also allows other hardware-specific formats, this loader does not yet parse them.
This loader parses the KTX 2.0 container and transcodes to a supported GPU compressed texture format. The required WASM transcoder and JS wrapper are available from the examples/jsm/libs/basis directory.
[name] is an add-on, and must be imported explicitly. See Installation / Addons.
import { KTX2Loader } from 'three/addons/loaders/KTX2Loader.js';
var ktx2Loader = new KTX2Loader();
ktx2Loader.setTranscoderPath( 'examples/jsm/libs/basis/' );
ktx2Loader.detectSupport( renderer );
ktx2Loader.load( 'diffuse.ktx2', function ( texture ) {
var material = new THREE.MeshStandardMaterial( { map: texture } );
}, function () {
console.log( 'onProgress' );
}, function ( e ) {
console.error( e );
} );
[example:webgl_loader_texture_ktx2]
This loader relies on Web Assembly which is not supported in older browsers.
manager ) manager — The LoadingManager for the loader to use. Default is THREE.DefaultLoadingManager.
Creates a new [name].
See the base Loader class for common properties.
See the base Loader class for common methods.
url, Function onLoad, Function onProgress, Function onError): CompressedTexture
url — A string containing the path/URL of the .ktx2 file.
onLoad — A function to be called after the loading is successfully completed.
onProgress — (optional) A function to be called while the loading is in progress. The argument will be the XMLHttpRequest instance, that contains .total and .loaded bytes. If the server does not set the Content-Length header; .total will be 0.
onError — (optional) A function to be called if an error occurs during loading. The function receives error as an argument.
Load from url and call the onLoad function with the transcoded CompressedTexture.
renderer)
renderer — A renderer instance.
Detects hardware support for available compressed texture formats, to determine the output format for the transcoder. Must be called before loading a texture.
path)
path — Path to folder containing the WASM transcoder and JS wrapper.
The WASM transcoder and JS wrapper are available from the examples/jsm/libs/basis directory.
limit)
limit — Maximum number of workers. Default is '4'.
Sets the maximum number of web workers to be allocated by this instance.
Disposes the loader object, de-allocating any Web Workers created.
© 2010–2025 Three.js Authors
Licensed under the MIT License.
https://threejs.org/docs/examples/en/loaders/KTX2Loader.html