UNPKG

pixi.js

Version:

PixiJS — The HTML5 Creation Engine =============

1 lines 7.38 kB
{"version":3,"file":"BatchableSprite.mjs","sources":["../../../src/scene/sprite/BatchableSprite.ts"],"sourcesContent":["import type { Batch, BatchableObject, Batcher } from '../../rendering/batcher/shared/Batcher';\nimport type { IndexBufferArray } from '../../rendering/renderers/shared/geometry/Geometry';\nimport type { Texture } from '../../rendering/renderers/shared/texture/Texture';\nimport type { BoundsData } from '../container/bounds/Bounds';\nimport type { Container } from '../container/Container';\n\n/**\n * A batchable sprite object.\n * @ignore\n */\nexport class BatchableSprite implements BatchableObject\n{\n public indexStart: number;\n public renderable: Container;\n\n // batch specific..\n public vertexSize = 4;\n public indexSize = 6;\n public texture: Texture;\n\n public textureId: number;\n public location = 0; // location in the buffer\n public batcher: Batcher = null;\n public batch: Batch = null;\n public bounds: BoundsData;\n public roundPixels: 0 | 1 = 0;\n\n get blendMode() { return this.renderable.groupBlendMode; }\n\n public packAttributes(\n float32View: Float32Array,\n uint32View: Uint32Array,\n index: number,\n textureId: number,\n )\n {\n const sprite = this.renderable;\n const texture = this.texture;\n\n const wt = sprite.groupTransform;\n\n const a = wt.a;\n const b = wt.b;\n const c = wt.c;\n const d = wt.d;\n const tx = wt.tx;\n const ty = wt.ty;\n\n const bounds = this.bounds;\n\n const w0 = bounds.maxX;\n const w1 = bounds.minX;\n const h0 = bounds.maxY;\n const h1 = bounds.minY;\n\n const uvs = texture.uvs;\n\n // _ _ _ _\n // a b g r\n const argb = sprite.groupColorAlpha;\n\n const textureIdAndRound = (textureId << 16) | (this.roundPixels & 0xFFFF);\n\n float32View[index + 0] = (a * w1) + (c * h1) + tx;\n float32View[index + 1] = (d * h1) + (b * w1) + ty;\n\n float32View[index + 2] = uvs.x0;\n float32View[index + 3] = uvs.y0;\n\n uint32View[index + 4] = argb;\n uint32View[index + 5] = textureIdAndRound;\n\n // xy\n float32View[index + 6] = (a * w0) + (c * h1) + tx;\n float32View[index + 7] = (d * h1) + (b * w0) + ty;\n\n float32View[index + 8] = uvs.x1;\n float32View[index + 9] = uvs.y1;\n\n uint32View[index + 10] = argb;\n uint32View[index + 11] = textureIdAndRound;\n\n // xy\n float32View[index + 12] = (a * w0) + (c * h0) + tx;\n float32View[index + 13] = (d * h0) + (b * w0) + ty;\n\n float32View[index + 14] = uvs.x2;\n float32View[index + 15] = uvs.y2;\n\n uint32View[index + 16] = argb;\n uint32View[index + 17] = textureIdAndRound;\n\n // xy\n float32View[index + 18] = (a * w1) + (c * h0) + tx;\n float32View[index + 19] = (d * h0) + (b * w1) + ty;\n\n float32View[index + 20] = uvs.x3;\n float32View[index + 21] = uvs.y3;\n\n uint32View[index + 22] = argb;\n uint32View[index + 23] = textureIdAndRound;\n }\n\n public packIndex(indexBuffer: IndexBufferArray, index: number, indicesOffset: number)\n {\n indexBuffer[index] = indicesOffset + 0;\n indexBuffer[index + 1] = indicesOffset + 1;\n indexBuffer[index + 2] = indicesOffset + 2;\n\n indexBuffer[index + 3] = indicesOffset + 0;\n indexBuffer[index + 4] = indicesOffset + 2;\n indexBuffer[index + 5] = indicesOffset + 3;\n }\n\n public reset()\n {\n this.renderable = null;\n this.texture = null;\n this.batcher = null;\n this.batch = null;\n this.bounds = null;\n }\n}\n"],"names":[],"mappings":"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"}