{"version":3,"file":"TransformFeedback.mjs","sources":["../../src/transformFeedback/TransformFeedback.ts"],"sourcesContent":["import { Runner } from '@pixi/runner';\n\nimport type { Buffer } from '../geometry/Buffer';\n\n/**\n * A TransformFeedback object wrapping GLTransformFeedback object.\n *\n * For example you can use TransformFeedback object to feed-back buffer data from Shader having TransformFeedbackVaryings.\n * @memberof PIXI\n */\nexport class TransformFeedback\n{\n    _glTransformFeedbacks: {[key: number]: WebGLTransformFeedback};\n\n    buffers: Buffer[];\n\n    disposeRunner: Runner;\n\n    constructor()\n    {\n        this._glTransformFeedbacks = {};\n        this.buffers = [];\n        this.disposeRunner = new Runner('disposeTransformFeedback');\n    }\n\n    /**\n     * Bind buffer to TransformFeedback\n     * @param index - index to bind\n     * @param buffer - buffer to bind\n     */\n    bindBuffer(index: number, buffer: Buffer)\n    {\n        this.buffers[index] = buffer;\n    }\n\n    /** Destroy WebGL resources that are connected to this TransformFeedback. */\n    destroy(): void\n    {\n        this.disposeRunner.emit(this, false);\n    }\n}\n"],"names":[],"mappings":";AAUO,MAAM,kBACb;AAAA,EAOI,cACA;AACS,SAAA,wBAAwB,IAC7B,KAAK,UAAU,IACf,KAAK,gBAAgB,IAAI,OAAO,0BAA0B;AAAA,EAC9D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,WAAW,OAAe,QAC1B;AACS,SAAA,QAAQ,KAAK,IAAI;AAAA,EAC1B;AAAA;AAAA,EAGA,UACA;AACS,SAAA,cAAc,KAAK,MAAM,EAAK;AAAA,EACvC;AACJ;"}