提交 7fd77b7e 编写于 作者: J Jaume Sanchez

added ImageBitmapLoader

上级 db601c26
'use strict';
/**
* @author thespite / http://clicktorelease.com/
*/
THREE.ImageBitmapLoader = function (manager) {
this.manager = manager !== undefined ? manager : THREE.DefaultLoadingManager;
this.options = {};
};
THREE.ImageBitmapLoader.prototype = {
constructor: THREE.ImageBitmapLoader,
setOptions: function setOptions(options) {
this.options = options;
return this;
},
load: function load(url, onLoad, onProgress, onError) {
if (url === undefined) url = '';
if (this.path !== undefined) url = this.path + url;
var scope = this;
var cached = THREE.Cache.get(url);
if (cached !== undefined) {
scope.manager.itemStart(url);
setTimeout(function () {
if (onLoad) onLoad(cached);
scope.manager.itemEnd(url);
}, 0);
return cached;
}
fetch(url).then(function (res) {
return res.blob();
}).then(function (res) {
return createImageBitmap(res, scope.options);
}).then(function (res) {
THREE.Cache.add(url, res);
if (onLoad) onLoad(res);
scope.manager.itemEnd(url);
}).catch(function (e) {
if (onError) onError(e);
scope.manager.itemEnd(url);
scope.manager.itemError(url);
});
}
};
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册