JSRUN 用代码说话

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.

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟