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">

93 lines (91 loc) 2.79 kB
"use strict"; const particleUpdateFunctions = { aVertex: (ps, f32v, _u32v, offset, stride) => { let w0 = 0; let w1 = 0; let h0 = 0; let h1 = 0; for (let i = 0; i < ps.length; ++i) { const p = ps[i]; const texture = p.texture; const sx = p.scaleX; const sy = p.scaleY; const ax = p.anchorX; const ay = p.anchorY; const trim = texture.trim; const orig = texture.orig; if (trim) { w1 = trim.x - ax * orig.width; w0 = w1 + trim.width; h1 = trim.y - ay * orig.height; h0 = h1 + trim.height; } else { w0 = orig.width * (1 - ax); w1 = orig.width * -ax; h0 = orig.height * (1 - ay); h1 = orig.height * -ay; } f32v[offset] = w1 * sx; f32v[offset + 1] = h1 * sy; f32v[offset + stride] = w0 * sx; f32v[offset + stride + 1] = h1 * sy; f32v[offset + stride * 2] = w0 * sx; f32v[offset + stride * 2 + 1] = h0 * sy; f32v[offset + stride * 3] = w1 * sx; f32v[offset + stride * 3 + 1] = h0 * sy; offset += stride * 4; } }, aPosition: (ps, f32v, _u32v, offset, stride) => { for (let i = 0; i < ps.length; ++i) { const p = ps[i]; const x = p.x; const y = p.y; f32v[offset] = x; f32v[offset + 1] = y; f32v[offset + stride] = x; f32v[offset + stride + 1] = y; f32v[offset + stride * 2] = x; f32v[offset + stride * 2 + 1] = y; f32v[offset + stride * 3] = x; f32v[offset + stride * 3 + 1] = y; offset += stride * 4; } }, aRotation: (ps, f32v, _u32v, offset, stride) => { for (let i = 0; i < ps.length; ++i) { const rotation = ps[i].rotation; f32v[offset] = rotation; f32v[offset + stride] = rotation; f32v[offset + stride * 2] = rotation; f32v[offset + stride * 3] = rotation; offset += stride * 4; } }, aUV: (ps, f32v, _u32v, offset, stride) => { for (let i = 0; i < ps.length; ++i) { const uvs = ps[i].texture.uvs; f32v[offset] = uvs.x0; f32v[offset + 1] = uvs.y0; f32v[offset + stride] = uvs.x1; f32v[offset + stride + 1] = uvs.y1; f32v[offset + stride * 2] = uvs.x2; f32v[offset + stride * 2 + 1] = uvs.y2; f32v[offset + stride * 3] = uvs.x3; f32v[offset + stride * 3 + 1] = uvs.y3; offset += stride * 4; } }, aColor: (ps, _f32v, u32v, offset, stride) => { for (let i = 0; i < ps.length; ++i) { const c = ps[i].color; u32v[offset] = c; u32v[offset + stride] = c; u32v[offset + stride * 2] = c; u32v[offset + stride * 3] = c; offset += stride * 4; } } }; export { particleUpdateFunctions }; //# sourceMappingURL=particleUpdateFunctions.mjs.map