UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

35 lines (34 loc) 1.04 kB
"use strict"; import { Poly } from "../../../engine/Poly"; import { CoreLoaderTexture } from "../Texture"; import { BaseTextureLoader } from "./_BaseTextureLoader"; export class BaseImageLoader { } export class BaseCoreImageLoader extends BaseTextureLoader { constructor(_url, _node) { super(_url, _node); this._node = _node; } async loadImage(options) { const url = this._urlToLoad(); return new Promise(async (resolve, reject) => { const loader = await this._getLoader(options); CoreLoaderTexture.incrementInProgressLoadsCount(); await CoreLoaderTexture.waitForMaxConcurrentLoadsQueueFreed(); loader.load( url, (texture) => { texture.matrixAutoUpdate = false; CoreLoaderTexture.decrementInProgressLoadsCount(url, texture); resolve(texture); }, void 0, (error) => { CoreLoaderTexture.decrementInProgressLoadsCount(url); Poly.warn("error", error); reject(); } ); }); } }