@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
23 lines • 1.5 kB
JavaScript
export class UniformBufferObjectsManager {
constructor() {
this.uniformBuffers = [];
}
/**
* @returns A free binding point.
*/
add(uniformBuffer) {
const { uniformBuffers } = this;
let bindingPoint = 0;
while (uniformBuffers[bindingPoint])
bindingPoint++;
uniformBuffers[bindingPoint] = uniformBuffer;
return bindingPoint;
}
remove(uniformBuffer) {
const { uniformBuffers } = this;
if (uniformBuffers[uniformBuffer.bindingPoint] !== uniformBuffer)
return;
delete uniformBuffers[uniformBuffer.bindingPoint];
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWJvLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dC91Ym8tbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sMkJBQTJCO0lBQXhDO1FBQ3FCLG1CQUFjLEdBQTZCLEVBQUUsQ0FBQTtJQW1CbEUsQ0FBQztJQWpCRzs7T0FFRztJQUNILEdBQUcsQ0FBQyxhQUFxQztRQUNyQyxNQUFNLEVBQUUsY0FBYyxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQy9CLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQTtRQUNwQixPQUFPLGNBQWMsQ0FBQyxZQUFZLENBQUM7WUFBRSxZQUFZLEVBQUUsQ0FBQTtRQUNuRCxjQUFjLENBQUMsWUFBWSxDQUFDLEdBQUcsYUFBYSxDQUFBO1FBQzVDLE9BQU8sWUFBWSxDQUFBO0lBQ3ZCLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBcUM7UUFDeEMsTUFBTSxFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUMvQixJQUFJLGNBQWMsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEtBQUssYUFBYTtZQUFFLE9BQU07UUFFeEUsT0FBTyxjQUFjLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3JELENBQUM7Q0FDSiJ9