This commit is contained in:
Akko
2025-08-04 18:57:35 +02:00
parent 8cf6e78a79
commit 9495868c2e
5030 changed files with 518594 additions and 17609 deletions

View File

@@ -0,0 +1,45 @@
'use strict';
var Extensions = require('../../../extensions/Extensions.js');
var State = require('../../renderers/shared/state/State.js');
"use strict";
class GlBatchAdaptor {
constructor() {
this._didUpload = false;
this._tempState = State.State.for2d();
}
init(batcherPipe) {
batcherPipe.renderer.runners.contextChange.add(this);
}
contextChange() {
this._didUpload = false;
}
start(batchPipe, geometry, shader) {
const renderer = batchPipe.renderer;
renderer.shader.bind(shader, this._didUpload);
renderer.shader.updateUniformGroup(renderer.globalUniforms.uniformGroup);
renderer.geometry.bind(geometry, shader.glProgram);
}
execute(batchPipe, batch) {
const renderer = batchPipe.renderer;
this._didUpload = true;
this._tempState.blendMode = batch.blendMode;
renderer.state.set(this._tempState);
const textures = batch.textures.textures;
for (let i = 0; i < batch.textures.count; i++) {
renderer.texture.bind(textures[i], i);
}
renderer.geometry.draw("triangle-list", batch.size, batch.start);
}
}
/** @ignore */
GlBatchAdaptor.extension = {
type: [
Extensions.ExtensionType.WebGLPipesAdaptor
],
name: "batch"
};
exports.GlBatchAdaptor = GlBatchAdaptor;
//# sourceMappingURL=GlBatchAdaptor.js.map