Хорошо найдено решение,
Зная, что у меня есть x количество точек маршрута, я генерирую кривые Безье, где количество кривых равно:
iCurves = iWaypointsCount / 3
Теперь, после того как я вычислю T для текущей кривой, я просто перехожу к другой кривой и возобновляю вычисление с 0 до 1.
// If we are not finished on this curve
if(m_fBezierT < 1.0)
{
m_vPosition = m_BezierPath.CalculateBezierPoint(m_iCurrentCurve, m_fBezierT);
m_fBezierT += 0.3f * fDelta;
}
// Finished, go next curve
else
{
// No more curves
if(m_iCurrentCurve+1 >= m_BezierPath.GetCurveCount())
{
m_fBezierT = 1.0f;
}
// Switch to next Curve
else
{
m_fBezierT = 0.0f;
m_iCurrentCurve++;
}
}