2019-08-03 16:16:07 +08:00
..
2019-08-03 16:16:07 +08:00

Basis Universal GPU Texture Compression

Basis Universal is a "supercompressed" GPU texture and texture video compression system that outputs a highly compressed intermediate file format (.basis) that can be quickly transcoded to a wide variety of GPU texture compression formats.

GitHub

Contents

This folder contains two files:

  • basis_transcoder.js — JavaScript wrapper for the WebAssembly transcoder.
  • basis_transcoder.wasm — WebAssembly transcoder.

Both are dependencies of THREE.BasisTextureLoader:

var basisLoader = new THREE.BasisTextureLoader();
basisLoader.setTranscoderPath( 'examples/js/libs/basis/' );
basisLoader.detectSupport( renderer );
basisLoader.load( 'diffuse.basis', function ( texture ) {

	var material = new THREE.MeshStandardMaterial( { map: texture } );

}, function () {

	console.log( 'onProgress' );

}, function ( e ) {

	console.error( e );

} );

For further documentation about the Basis compressor and transcoder, refer to the Basis GitHub repository. The JavaScript wrapper requires one modification from the version provided in the Basis repository the declaration on the first line is changed from var Module to Module, to accomodate lazy initialization in a Web Worker (details).

License

Apache License 2.0