Mercurial > hg > dmlib
view dmlerp.c @ 20:6b0ba6d062bb
Moar testing!
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 28 Sep 2012 14:52:34 +0300 |
parents | 32250b436bca |
children | 72813cece1ba |
line wrap: on
line source
#include "dmlib.h" void dmLerpInit(DMLerpContext *ctx, DMFloat start, DMFloat end, DMFloat nsteps) { ctx->start = start; ctx->end = end; ctx->nsteps = nsteps; } DMFloat dmLerpSCurve(DMLerpContext *ctx, const DMFloat step) { const DMFloat n = step / ctx->nsteps; const DMFloat v = DMM_S_CURVE(n); return DMM_LERP(v, ctx->start, ctx->end); } DMFloat dmLerp1(DMLerpContext *ctx, const DMFloat step) { const DMFloat v = step / ctx->nsteps; return DMM_LERP(v, ctx->start, ctx->end); } DMFloat dmCatmull_Rom(const DMFloat t, const DMFloat p0, const DMFloat p1, const DMFloat p2, const DMFloat p3) { const DMFloat q = t * t; return ( (2 * p1) + (-p0 + p2) * t + (2 * p0 - 5 * p1 + 4 * p2 - p3) * q + ( -p0 + 3 * p1 - 3 * p2 + p3) * q * t ) * 0.5f; }