@awayjs/renderer
Version:
Renderer for AwayJS
43 lines (42 loc) • 1.66 kB
JavaScript
import { __extends } from "tslib";
import { AbstractionSet, AssetBase } 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.abstractions = new AbstractionSet(_this);
_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, assetType) {
this._materialStore[assetType].push(abstraction);
};
_Render_ElementsBase.prototype.clear = function () {
this.abstractions.forEach(function (pickable) { return pickable.onClear(); });
};
_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 };