手册
- 起步
- 进阶
- 构建工具
参考
- 动画
- 动画 / 轨道
- 音频
- 摄像机
- 常量
- 核心
- 核心 / BufferAttributes
- 附件
- 附件 / 核心
- 附件 / 曲线
- 附件 / 物体
- 几何体
- 立方缓冲几何体(BoxGeometry)
- 圆形缓冲几何体(CircleGeometry)
- 圆锥缓冲几何体(ConeGeometry)
- 圆柱缓冲几何体(CylinderGeometry)
- 十二面缓冲几何体(DodecahedronGeometry)
- 边缘几何体(EdgesGeometry)
- 挤压缓冲几何体(ExtrudeGeometry)
- 二十面缓冲几何体(IcosahedronGeometry)
- 车削缓冲几何体(LatheGeometry)
- 八面缓冲几何体(OctahedronGeometry)
- 参数化缓冲几何体(ParametricGeometry)
- 平面缓冲几何体(PlaneGeometry)
- 多面缓冲几何体(PolyhedronGeometry)
- 圆环缓冲几何体(RingGeometry)
- 形状缓冲几何体(ShapeGeometry)
- 球缓冲几何体(SphereGeometry)
- 四面缓冲几何体(TetrahedronGeometry)
- 文本缓冲几何体(TextGeometry)
- 圆环缓冲几何体(TorusGeometry)
- 圆环缓冲扭结几何体(TorusKnotGeometry)
- 管道缓冲几何体(TubeGeometry)
- 网格几何体(WireframeGeometry)
- 辅助对象
- 灯光
- 灯光 / 阴影
- 加载器
- 加载器 / 管理器
- 材质
- 基础线条材质(LineBasicMaterial)
- 虚线材质(LineDashedMaterial)
- 材质(Material)
- 基础网格材质(MeshBasicMaterial)
- 深度网格材质(MeshDepthMaterial)
- MeshDistanceMaterial
- Lambert网格材质(MeshLambertMaterial)
- MeshMatcapMaterial
- 法线网格材质(MeshNormalMaterial)
- Phong网格材质(MeshPhongMaterial)
- 物理网格材质(MeshPhysicalMaterial)
- 标准网格材质(MeshStandardMaterial)
- MeshToonMaterial
- 点材质(PointsMaterial)
- 原始着色器材质(RawShaderMaterial)
- 着色器材质(ShaderMaterial)
- 阴影材质(ShadowMaterial)
- 点精灵材质(SpriteMaterial)
- 数学库
- 数学库 / 插值
- 物体
- 渲染器
- 渲染器 / 着色器
- 渲染器 / WebXR
- 场景
- 纹理贴图
示例
- 动画
- 控制
- 几何体
- 辅助对象
- 灯光
- 加载器
- 物体
- 后期处理
- 导出器
- 数学库
- QuickHull
- 渲染器
- 实用工具
开发者参考
- 差异化支持
- WebGL 渲染器
BasisTextureLoader
Loader for Basis Universal GPU Texture Codec.
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.
This loader parallelizes the transcoding process across a configurable number of web workers, before transferring the transcoded compressed texture back to the main thread. The required WASM transcoder and JS wrapper are available from the examples/js/libs/basis directory.
代码示例
const basisLoader = new BasisTextureLoader(); basisLoader.setTranscoderPath( 'examples/js/libs/basis/' ); basisLoader.detectSupport( renderer ); basisLoader.load( 'diffuse.basis', function ( texture ) { const material = new THREE.MeshStandardMaterial( { map: texture } ); }, function () { console.log( 'onProgress' ); }, function ( e ) { console.error( e ); } );
例子
Browser compatibility
BasisTextureLoader transcodes input textures in '.basis' format to an appropriate compressed texture format for the target device, where possible. This allows the same source texture to be served across desktop, Android, and iOS devices, and transcoded into ASTC, DXT, ETC1, or PVRTC1. Other output formats may be supported in the future.
Transcoding to PVRTC1 (for iOS) requires square power-of-two textures.
This loader relies on ES6 Promises and Web Assembly, which are not supported in IE11.
Constructor
BasisTextureLoader( manager : LoadingManager )
manager — The LoadingManager for the loader to use. Default is THREE.DefaultLoadingManager.
Creates a new BasisTextureLoader.
Properties
See the base Loader class for common properties.
Methods
See the base Loader class for common methods.
.load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : null
url — A string containing the path/URL of the .basis 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.
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.
.detectSupport ( renderer : WebGLRenderer ) : this
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.
.setTranscoderPath ( path : String ) : this
path — Path to folder containing the WASM transcoder and JS wrapper.
The WASM transcoder and JS wrapper are available from the examples/js/libs/basis directory.
.setWorkerLimit ( limit : Number ) : this
limit — Maximum number of workers. Default is '4'.
Sets the maximum number of web workers to be allocated by this instance.
.dispose () : this
Disposes the loader object, de-allocating any Web Workers created.
Source
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论