UNPKG

@awayjs/renderer

Version:
49 lines (48 loc) 1.92 kB
import { __extends } from "tslib"; import { AssetBase, WeakAssetSet } from '@awayjs/core'; /** * @class away.pool.MaterialPoolBase */ var _Render_ElementsBase = /** @class */ (function (_super) { __extends(_Render_ElementsBase, _super); /** * //TODO * * @param materialClassGL */ function _Render_ElementsBase(renderer) { var _this = _super.call(this) || this; _this._materials = new WeakAssetSet('_Render_MaterialBase'); _this.renderer = renderer; _this.stage = renderer.view.stage; _this._materialStore = renderer.group.materialStore; _this._materialClassPool = renderer.group.materialClassPool; return _this; } _Render_ElementsBase.prototype.requestAbstraction = function (asset) { var store = this._materialStore[asset.assetType]; return store.length ? store.pop() : new this._materialClassPool[asset.assetType](); }; _Render_ElementsBase.prototype.storeAbstraction = function (abstraction) { this._materialStore[abstraction.asset.assetType].push(abstraction); }; _Render_ElementsBase.prototype.addMaterial = function (material) { this._materials.add(material); }; _Render_ElementsBase.prototype.removeMaterial = function (material) { this._materials.remove(material); }; _Render_ElementsBase.prototype.clear = function () { this._materials.forEach(function (asset) { return asset.onClear(null); }); }; _Render_ElementsBase.prototype._includeDependencies = function (shader) { }; _Render_ElementsBase.prototype._getVertexCode = function (shader, registerCache, sharedRegisters) { return ''; }; _Render_ElementsBase.prototype._getFragmentCode = function (shader, registerCache, sharedRegisters) { return ''; }; return _Render_ElementsBase; }(AssetBase)); export { _Render_ElementsBase };