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