@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
44 lines • 3.95 kB
JavaScript
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