Files
nothoughts/node_modules/pixi.js/lib/rendering/renderers/gl/GlEncoderSystem.js
2025-08-04 18:57:35 +02:00

40 lines
1.0 KiB
JavaScript

'use strict';
var Extensions = require('../../../extensions/Extensions.js');
"use strict";
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