three
Version:
JavaScript 3D library
59 lines (31 loc) • 983 B
JavaScript
import { ImageLoader } from './ImageLoader.js';
import { CubeTexture } from '../textures/CubeTexture.js';
import { Loader } from './Loader.js';
function CubeTextureLoader( manager ) {
Loader.call( this, manager );
}
CubeTextureLoader.prototype = Object.assign( Object.create( Loader.prototype ), {
constructor: CubeTextureLoader,
load: function ( urls, onLoad, onProgress, onError ) {
const texture = new CubeTexture();
const loader = new ImageLoader( this.manager );
loader.setCrossOrigin( this.crossOrigin );
loader.setPath( this.path );
let loaded = 0;
function loadTexture( i ) {
loader.load( urls[ i ], function ( image ) {
texture.images[ i ] = image;
loaded ++;
if ( loaded === 6 ) {
texture.needsUpdate = true;
if ( onLoad ) onLoad( texture );
}
}, undefined, onError );
}
for ( let i = 0; i < urls.length; ++ i ) {
loadTexture( i );
}
return texture;
}
} );
export { CubeTextureLoader };