47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | # Basis Universal GPU Texture Compression
 | ||
|  | 
 | ||
|  | Basis Universal is a "[supercompressed](http://gamma.cs.unc.edu/GST/gst.pdf)" | ||
|  | 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](https://github.com/BinomialLLC/basis_universal) | ||
|  | 
 | ||
|  | ## Transcoders
 | ||
|  | 
 | ||
|  | Basis Universal texture data may be used in two different file formats: | ||
|  | `.basis` and `.ktx2`, where `ktx2` is a standardized wrapper around basis texture data. | ||
|  | 
 | ||
|  | For further documentation about the Basis compressor and transcoder, refer to | ||
|  | the [Basis GitHub repository](https://github.com/BinomialLLC/basis_universal). | ||
|  | 
 | ||
|  | The folder contains two files required for transcoding `.basis` or `.ktx2` textures: | ||
|  | 
 | ||
|  | * `basis_transcoder.js` — JavaScript wrapper for the WebAssembly transcoder. | ||
|  | * `basis_transcoder.wasm` — WebAssembly transcoder. | ||
|  | 
 | ||
|  | Both are dependencies of `KTX2Loader`: | ||
|  | 
 | ||
|  | ```js | ||
|  | const ktx2Loader = new KTX2Loader(); | ||
|  | ktx2Loader.setTranscoderPath( 'examples/jsm/libs/basis/' ); | ||
|  | ktx2Loader.detectSupport( renderer ); | ||
|  | ktx2Loader.load( 'diffuse.ktx2', function ( texture ) { | ||
|  | 
 | ||
|  | 	const material = new THREE.MeshStandardMaterial( { map: texture } ); | ||
|  | 
 | ||
|  | }, function () { | ||
|  | 
 | ||
|  | 	console.log( 'onProgress' ); | ||
|  | 
 | ||
|  | }, function ( e ) { | ||
|  | 
 | ||
|  | 	console.error( e ); | ||
|  | 
 | ||
|  | } ); | ||
|  | ``` | ||
|  | 
 | ||
|  | ## License
 | ||
|  | 
 | ||
|  | [Apache License 2.0](https://github.com/BinomialLLC/basis_universal/blob/master/LICENSE) |