sdfsdfs
This commit is contained in:
111
node_modules/pixi.js/lib/rendering/batcher/shared/DefaultBatcher.mjs
generated
vendored
Normal file
111
node_modules/pixi.js/lib/rendering/batcher/shared/DefaultBatcher.mjs
generated
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
import { ExtensionType } from '../../../extensions/Extensions.mjs';
|
||||
import { Batcher } from './Batcher.mjs';
|
||||
import { BatchGeometry } from './BatchGeometry.mjs';
|
||||
import { DefaultShader } from './DefaultShader.mjs';
|
||||
|
||||
"use strict";
|
||||
let defaultShader = null;
|
||||
const _DefaultBatcher = class _DefaultBatcher extends Batcher {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.geometry = new BatchGeometry();
|
||||
this.shader = defaultShader || (defaultShader = new DefaultShader(this.maxTextures));
|
||||
this.name = _DefaultBatcher.extension.name;
|
||||
/** The size of one attribute. 1 = 32 bit. x, y, u, v, color, textureIdAndRound -> total = 6 */
|
||||
this.vertexSize = 6;
|
||||
}
|
||||
/**
|
||||
* Packs the attributes of a DefaultBatchableMeshElement into the provided views.
|
||||
* @param element - The DefaultBatchableMeshElement to pack.
|
||||
* @param float32View - The Float32Array view to pack into.
|
||||
* @param uint32View - The Uint32Array view to pack into.
|
||||
* @param index - The starting index in the views.
|
||||
* @param textureId - The texture ID to use.
|
||||
*/
|
||||
packAttributes(element, float32View, uint32View, index, textureId) {
|
||||
const textureIdAndRound = textureId << 16 | element.roundPixels & 65535;
|
||||
const wt = element.transform;
|
||||
const a = wt.a;
|
||||
const b = wt.b;
|
||||
const c = wt.c;
|
||||
const d = wt.d;
|
||||
const tx = wt.tx;
|
||||
const ty = wt.ty;
|
||||
const { positions, uvs } = element;
|
||||
const argb = element.color;
|
||||
const offset = element.attributeOffset;
|
||||
const end = offset + element.attributeSize;
|
||||
for (let i = offset; i < end; i++) {
|
||||
const i2 = i * 2;
|
||||
const x = positions[i2];
|
||||
const y = positions[i2 + 1];
|
||||
float32View[index++] = a * x + c * y + tx;
|
||||
float32View[index++] = d * y + b * x + ty;
|
||||
float32View[index++] = uvs[i2];
|
||||
float32View[index++] = uvs[i2 + 1];
|
||||
uint32View[index++] = argb;
|
||||
uint32View[index++] = textureIdAndRound;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Packs the attributes of a DefaultBatchableQuadElement into the provided views.
|
||||
* @param element - The DefaultBatchableQuadElement to pack.
|
||||
* @param float32View - The Float32Array view to pack into.
|
||||
* @param uint32View - The Uint32Array view to pack into.
|
||||
* @param index - The starting index in the views.
|
||||
* @param textureId - The texture ID to use.
|
||||
*/
|
||||
packQuadAttributes(element, float32View, uint32View, index, textureId) {
|
||||
const texture = element.texture;
|
||||
const wt = element.transform;
|
||||
const a = wt.a;
|
||||
const b = wt.b;
|
||||
const c = wt.c;
|
||||
const d = wt.d;
|
||||
const tx = wt.tx;
|
||||
const ty = wt.ty;
|
||||
const bounds = element.bounds;
|
||||
const w0 = bounds.maxX;
|
||||
const w1 = bounds.minX;
|
||||
const h0 = bounds.maxY;
|
||||
const h1 = bounds.minY;
|
||||
const uvs = texture.uvs;
|
||||
const argb = element.color;
|
||||
const textureIdAndRound = textureId << 16 | element.roundPixels & 65535;
|
||||
float32View[index + 0] = a * w1 + c * h1 + tx;
|
||||
float32View[index + 1] = d * h1 + b * w1 + ty;
|
||||
float32View[index + 2] = uvs.x0;
|
||||
float32View[index + 3] = uvs.y0;
|
||||
uint32View[index + 4] = argb;
|
||||
uint32View[index + 5] = textureIdAndRound;
|
||||
float32View[index + 6] = a * w0 + c * h1 + tx;
|
||||
float32View[index + 7] = d * h1 + b * w0 + ty;
|
||||
float32View[index + 8] = uvs.x1;
|
||||
float32View[index + 9] = uvs.y1;
|
||||
uint32View[index + 10] = argb;
|
||||
uint32View[index + 11] = textureIdAndRound;
|
||||
float32View[index + 12] = a * w0 + c * h0 + tx;
|
||||
float32View[index + 13] = d * h0 + b * w0 + ty;
|
||||
float32View[index + 14] = uvs.x2;
|
||||
float32View[index + 15] = uvs.y2;
|
||||
uint32View[index + 16] = argb;
|
||||
uint32View[index + 17] = textureIdAndRound;
|
||||
float32View[index + 18] = a * w1 + c * h0 + tx;
|
||||
float32View[index + 19] = d * h0 + b * w1 + ty;
|
||||
float32View[index + 20] = uvs.x3;
|
||||
float32View[index + 21] = uvs.y3;
|
||||
uint32View[index + 22] = argb;
|
||||
uint32View[index + 23] = textureIdAndRound;
|
||||
}
|
||||
};
|
||||
/** @ignore */
|
||||
_DefaultBatcher.extension = {
|
||||
type: [
|
||||
ExtensionType.Batcher
|
||||
],
|
||||
name: "default"
|
||||
};
|
||||
let DefaultBatcher = _DefaultBatcher;
|
||||
|
||||
export { DefaultBatcher };
|
||||
//# sourceMappingURL=DefaultBatcher.mjs.map
|
Reference in New Issue
Block a user