UNPKG

pixi.js

Version:

<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">

1 lines 2.95 kB
{"version":3,"file":"UboBatch.mjs","sources":["../../../../../src/rendering/renderers/gpu/buffer/UboBatch.ts"],"sourcesContent":["/** @internal */\nexport class UboBatch\n{\n public data: Float32Array;\n private readonly _minUniformOffsetAlignment: number = 256;\n\n public byteIndex = 0;\n\n constructor({ minUniformOffsetAlignment }: {minUniformOffsetAlignment: number})\n {\n this._minUniformOffsetAlignment = minUniformOffsetAlignment;\n this.data = new Float32Array(65535);\n }\n\n public clear(): void\n {\n this.byteIndex = 0;\n }\n\n public addEmptyGroup(size: number): number\n {\n // update the buffer.. only float32 for now!\n if (size > this._minUniformOffsetAlignment / 4)\n {\n throw new Error(`UniformBufferBatch: array is too large: ${size * 4}`);\n }\n\n const start = this.byteIndex;\n\n let newSize = start + (size * 4);\n\n newSize = Math.ceil(newSize / this._minUniformOffsetAlignment) * this._minUniformOffsetAlignment;\n\n if (newSize > this.data.length * 4)\n {\n // TODO push a new buffer\n throw new Error('UniformBufferBatch: ubo batch got too big');\n }\n\n this.byteIndex = newSize;\n\n return start;\n }\n\n public addGroup(array: Float32Array): number\n {\n const offset = this.addEmptyGroup(array.length);\n\n for (let i = 0; i < array.length; i++)\n {\n this.data[(offset / 4) + i] = array[i];\n }\n\n return offset;\n }\n\n public destroy()\n {\n this.data = null;\n }\n}\n"],"names":[],"mappings":";AACO,MAAM,QACb,CAAA;AAAA,EAMI,WAAA,CAAY,EAAE,yBAAA,EACd,EAAA;AALA,IAAA,IAAA,CAAiB,0BAAqC,GAAA,GAAA,CAAA;AAEtD,IAAA,IAAA,CAAO,SAAY,GAAA,CAAA,CAAA;AAIf,IAAA,IAAA,CAAK,0BAA6B,GAAA,yBAAA,CAAA;AAClC,IAAK,IAAA,CAAA,IAAA,GAAO,IAAI,YAAA,CAAa,KAAK,CAAA,CAAA;AAAA,GACtC;AAAA,EAEO,KACP,GAAA;AACI,IAAA,IAAA,CAAK,SAAY,GAAA,CAAA,CAAA;AAAA,GACrB;AAAA,EAEO,cAAc,IACrB,EAAA;AAEI,IAAI,IAAA,IAAA,GAAO,IAAK,CAAA,0BAAA,GAA6B,CAC7C,EAAA;AACI,MAAA,MAAM,IAAI,KAAA,CAAM,CAA2C,wCAAA,EAAA,IAAA,GAAO,CAAC,CAAE,CAAA,CAAA,CAAA;AAAA,KACzE;AAEA,IAAA,MAAM,QAAQ,IAAK,CAAA,SAAA,CAAA;AAEnB,IAAI,IAAA,OAAA,GAAU,QAAS,IAAO,GAAA,CAAA,CAAA;AAE9B,IAAA,OAAA,GAAU,KAAK,IAAK,CAAA,OAAA,GAAU,IAAK,CAAA,0BAA0B,IAAI,IAAK,CAAA,0BAAA,CAAA;AAEtE,IAAA,IAAI,OAAU,GAAA,IAAA,CAAK,IAAK,CAAA,MAAA,GAAS,CACjC,EAAA;AAEI,MAAM,MAAA,IAAI,MAAM,2CAA2C,CAAA,CAAA;AAAA,KAC/D;AAEA,IAAA,IAAA,CAAK,SAAY,GAAA,OAAA,CAAA;AAEjB,IAAO,OAAA,KAAA,CAAA;AAAA,GACX;AAAA,EAEO,SAAS,KAChB,EAAA;AACI,IAAA,MAAM,MAAS,GAAA,IAAA,CAAK,aAAc,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AAE9C,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,CAAM,QAAQ,CAClC,EAAA,EAAA;AACI,MAAA,IAAA,CAAK,KAAM,MAAS,GAAA,CAAA,GAAK,CAAC,CAAA,GAAI,MAAM,CAAC,CAAA,CAAA;AAAA,KACzC;AAEA,IAAO,OAAA,MAAA,CAAA;AAAA,GACX;AAAA,EAEO,OACP,GAAA;AACI,IAAA,IAAA,CAAK,IAAO,GAAA,IAAA,CAAA;AAAA,GAChB;AACJ;;;;"}