Curves behaved totally bad suddenly. Caused by Campbell code cleanup, replacing this: /* this is for float inaccuracy */ if (t < knots[0]) t = knots[0]; else if (t > knots[opp2]) t = knots[opp2]; with: t = (t < knots[0]) ? knots[0] : knots[opp2]; Tss!