{"version":3,"file":"TransformFeedback.mjs","sources":["../../src/transformFeedback/TransformFeedback.ts"],"sourcesContent":["import { Runner } from 'pixijs/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,iBACb,CAAA;AAAA,EAOI,WACA,GAAA;AACI,IAAA,IAAA,CAAK,wBAAwB,EAAC,CAAA;AAC9B,IAAA,IAAA,CAAK,UAAU,EAAC,CAAA;AAChB,IAAK,IAAA,CAAA,aAAA,GAAgB,IAAI,MAAA,CAAO,0BAA0B,CAAA,CAAA;AAAA,GAC9D;AAAA,EAOA,UAAA,CAAW,OAAe,MAC1B,EAAA;AACI,IAAA,IAAA,CAAK,QAAQ,KAAS,CAAA,GAAA,MAAA,CAAA;AAAA,GAC1B;AAAA,EAGA,OACA,GAAA;AACI,IAAK,IAAA,CAAA,aAAA,CAAc,IAAK,CAAA,IAAA,EAAM,KAAK,CAAA,CAAA;AAAA,GACvC;AACJ;;;;"}