UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

44 lines 3.95 kB
import { tgdCalcMix } from "../math.js"; /** * Create an action that will interpolate from one vector to another. */ export function tgdActionCreateVec2Interpolation({ from, to, action, }) { const [fromX, fromY] = from; const [toX, toY] = to; const vec = [0, 0]; return (alpha) => { vec[0] = tgdCalcMix(fromX, toX, alpha); vec[1] = tgdCalcMix(fromY, toY, alpha); action(vec); }; } /** * Create an action that will interpolate from one vector to another. */ export function tgdActionCreateVec3Interpolation({ from, to, action, }) { const [fromX, fromY, fromZ] = from; const [toX, toY, toZ] = to; const vec = [0, 0, 0]; return (alpha) => { vec[0] = tgdCalcMix(fromX, toX, alpha); vec[1] = tgdCalcMix(fromY, toY, alpha); vec[2] = tgdCalcMix(fromZ, toZ, alpha); action(vec); }; } /** * Create an action that will interpolate from one vector to another. */ export function tgdActionCreateVec4Interpolation({ from, to, action, }) { const [fromX, fromY, fromZ, fromW] = from; const [toX, toY, toZ, toW] = to; const vec = [0, 0, 0, 0]; return (alpha) => { vec[0] = tgdCalcMix(fromX, toX, alpha); vec[1] = tgdCalcMix(fromY, toY, alpha); vec[2] = tgdCalcMix(fromZ, toZ, alpha); vec[3] = tgdCalcMix(fromW, toW, alpha); action(vec); }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2FjdGlvbi92ZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUVwQzs7R0FFRztBQUNILE1BQU0sVUFBVSxnQ0FBZ0MsQ0FBQyxFQUM3QyxJQUFJLEVBQ0osRUFBRSxFQUNGLE1BQU0sR0FLVDtJQUNHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFBO0lBQzNCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQ3JCLE1BQU0sR0FBRyxHQUFpQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNoQyxPQUFPLENBQUMsS0FBYSxFQUFFLEVBQUU7UUFDckIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3RDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDZixDQUFDLENBQUE7QUFDTCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0NBQWdDLENBQUMsRUFDN0MsSUFBSSxFQUNKLEVBQUUsRUFDRixNQUFNLEdBS1Q7SUFDRyxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUE7SUFDbEMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQzFCLE1BQU0sR0FBRyxHQUFpQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDbkMsT0FBTyxDQUFDLEtBQWEsRUFBRSxFQUFFO1FBQ3JCLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUN0QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDdEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNmLENBQUMsQ0FBQTtBQUNMLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQ0FBZ0MsQ0FBQyxFQUM3QyxJQUFJLEVBQ0osRUFBRSxFQUNGLE1BQU0sR0FLVDtJQUNHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUE7SUFDekMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtJQUMvQixNQUFNLEdBQUcsR0FBaUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN0QyxPQUFPLENBQUMsS0FBYSxFQUFFLEVBQUU7UUFDckIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3RDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUN0QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDdEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNmLENBQUMsQ0FBQTtBQUNMLENBQUMifQ==