UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

44 lines 3.95 kB
import { tgdCalcMix } from "../../math/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2FjdGlvbi92ZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRTVDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGdDQUFnQyxDQUFDLEVBQzdDLElBQUksRUFDSixFQUFFLEVBQ0YsTUFBTSxHQUtUO0lBQ0csTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUE7SUFDM0IsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUE7SUFDckIsTUFBTSxHQUFHLEdBQWlCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ2hDLE9BQU8sQ0FBQyxLQUFhLEVBQUUsRUFBRTtRQUNyQixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDdEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNmLENBQUMsQ0FBQTtBQUNMLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQ0FBZ0MsQ0FBQyxFQUM3QyxJQUFJLEVBQ0osRUFBRSxFQUNGLE1BQU0sR0FLVDtJQUNHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQTtJQUNsQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUE7SUFDMUIsTUFBTSxHQUFHLEdBQWlCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNuQyxPQUFPLENBQUMsS0FBYSxFQUFFLEVBQUU7UUFDckIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3RDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUN0QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDdEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2YsQ0FBQyxDQUFBO0FBQ0wsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGdDQUFnQyxDQUFDLEVBQzdDLElBQUksRUFDSixFQUFFLEVBQ0YsTUFBTSxHQUtUO0lBQ0csTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQTtJQUN6QyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQy9CLE1BQU0sR0FBRyxHQUFpQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3RDLE9BQU8sQ0FBQyxLQUFhLEVBQUUsRUFBRTtRQUNyQixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDdEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3RDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUN0QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDdEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2YsQ0FBQyxDQUFBO0FBQ0wsQ0FBQyJ9