(function(){ 'use strict'; /** * Texture loader based on {@link https://github.com/mrdoob/three.js/blob/master/src/loaders/TextureLoader.js} * @memberOf PANOLENS.Utils * @namespace */ PANOLENS.Utils.TextureLoader = {}; /** * Load image texture * @param {string} url - An image url * @param {function} onLoad - On load callback * @param {function} onProgress - In progress callback * @param {function} onError - On error callback * @return {THREE.Texture} - Image texture */ PANOLENS.Utils.TextureLoader.load = function ( url, onLoad, onProgress, onError ) { var texture = new THREE.Texture(); PANOLENS.Utils.ImageLoader.load( url, function ( image ) { texture.image = image; texture.needsUpdate = true; onLoad && onLoad( texture ); }, onProgress, onError ); return texture; }; })();