pixi.js
Version:
<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">
40 lines (36 loc) • 1.03 kB
JavaScript
;
var Extensions = require('../../../extensions/Extensions.js');
;
class GlEncoderSystem {
constructor(renderer) {
this.commandFinished = Promise.resolve();
this._renderer = renderer;
}
setGeometry(geometry, shader) {
this._renderer.geometry.bind(geometry, shader.glProgram);
}
finishRenderPass() {
}
draw(options) {
const renderer = this._renderer;
const { geometry, shader, state, skipSync, topology: type, size, start, instanceCount } = options;
renderer.shader.bind(shader, skipSync);
renderer.geometry.bind(geometry, renderer.shader._activeProgram);
if (state) {
renderer.state.set(state);
}
renderer.geometry.draw(type, size, start, instanceCount ?? geometry.instanceCount);
}
destroy() {
this._renderer = null;
}
}
/** @ignore */
GlEncoderSystem.extension = {
type: [
Extensions.ExtensionType.WebGLSystem
],
name: "encoder"
};
exports.GlEncoderSystem = GlEncoderSystem;
//# sourceMappingURL=GlEncoderSystem.js.map