BasisTextureLoader
编辑教程BasisTextureLoader
基础通用GPU纹理编解码器的加载程序.
Basis Universal是一种“超压缩” GPU纹理和纹理视频压缩系统,可输出高度压缩的中间文件格式(.basis),该文件可以快速转码为多种GPU纹理压缩格式.
在将转码后的压缩纹理传回主线程之前,此加载程序会在可配置数量的Web Worker上并行化转码过程.所需的WASM转码器和JS包装器可从 examples / js / libs / basis 目录中获得.
例
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 );
} );
浏览器兼容性
如果可能,BasisTextureLoader将“ .basis”格式的输入纹理转码为目标设备的适当压缩纹理格式.这样就可以在台式机,Android和iOS设备上提供相同的源纹理,并将其转码为ASTC,DXT,ETC1或PVRTC1.将来可能会支持其他输出格式.
转码为PVRTC1(对于iOS)需要平方的二次方幂纹理.
该加载器依赖于ES6 Promises和Web Assembly,而IE11不支持.
构造器
BasisTextureLoader(管理者:LoadingManager)
manager -在LoadingManager的装载机使用.默认值为THREE.DefaultLoadingManager.
创建一个新的BasisTextureLoader.
属性
请参见基本Loader类以获取常见属性.
方法
有关常见方法,请参见基础Loader类.
.load(url:字符串,onLoad:函数,onProgress:函数,onError:函数):null
- url —包含.basis文件的路径/ URL的字符串.
- onLoad —成功完成加载后要调用的函数.
- onProgress —(可选)在加载过程中要调用的函数.参数将是XMLHttpRequest实例,其中包含.总计和.已加载的字节.
- onError —(可选)如果在加载期间发生错误则调用的函数.该函数接收错误作为参数.
从url加载并使用转码后的CompressedTexture调用onLoad函数.
.detectSupport(renderer:WebGLRenderer):this
渲染器 —渲染器实例.
检测对可用压缩纹理格式的硬件支持,以确定代码转换器的输出格式.必须在加载纹理之前调用.
.setTranscoderPath(path:String):this
路径 -路径包含WASM转码器和JS包装的文件夹.
可从examples / js / libs / basis 目录中获得WASM转码器和JS包装器 .
.setWorkerLimit(限制:Number):this
limit-最大工人数.默认值为“ 4”.
设置此实例要分配的最大Web工作程序数.
.dispose():this
处置加载程序对象,取消分配创建的所有Web Worker.
选择支付方式:
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间