diff --git a/examples/shapes/shapes_splines_drawing.c b/examples/shapes/shapes_splines_drawing.c index 605011a78..9382e1e27 100644 --- a/examples/shapes/shapes_splines_drawing.c +++ b/examples/shapes/shapes_splines_drawing.c @@ -80,8 +80,7 @@ int main(void) // Spline config variables float splineThickness = 8.0f; - int splineTypeActive = SPLINE_LINEAR_VAR; // 0-Linear, 1-BSpline, 2-CatmullRom, 3-Bezier, 4-LinearVar, 5-BezierVar - // TODO: Change the default back to SPLINE_LINEAR when finished testing + int splineTypeActive = SPLINE_LINEAR; // 0-Linear, 1-BSpline, 2-CatmullRom, 3-Bezier, 4-LinearVar, 5-BezierVar bool splineTypeEditMode = false; bool splineHelpersActive = true; @@ -226,8 +225,8 @@ int main(void) float thicks[] = { 0.0f, splineThickness, + -splineThickness, splineThickness, - 0.0f, }; // Draw spline: variable-width linear diff --git a/src/rshapes.c b/src/rshapes.c index 8852fea59..b66b17271 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -2144,10 +2144,9 @@ void DrawSplineSegmentLinearVar(Vector2 p1, Vector2 p2, const float* thicks, int point.x = p1.x*(1.0f - t) + p2.x*t; point.y = p1.y*(1.0f - t) + p2.y*t; - // TODO: Doesn't seem to be working properly for more than 3 distinct values float thick; { - float tMajor = t*(float)thickCount; + float tMajor = t*(float)thickCount/3.0f; int tIndex = (int)tMajor; float tMinor = tMajor - (float)tIndex; tIndex *= 3; @@ -2235,10 +2234,9 @@ void DrawSplineSegmentBezierCubicVar(Vector2 p1, Vector2 c2, Vector2 c3, Vector2 point.x = a*p1.x + b*c2.x + c*c3.x + d*p4.x; } - // TODO: Doesn't seem to be working properly for more than 3 distinct values float thick; { - float tMajor = t*(float)thickCount; + float tMajor = t*(float)thickCount/3.0f; int tIndex = (int)tMajor; float tMinor = tMajor - (float)tIndex; tIndex *= 3;