al_calculate_spline(1) Allegro 5 API


#include <allegro5/allegro_primitives.h>
void al_calculate_spline(float* dest, int stride, float points[8],
   float thickness, int num_segments)


Calculates a Bézier spline given 4 control points. If thickness <= 0, then num_segments of points are required in the destination, otherwise twice as many are needed. The destination buffer should consist of regularly spaced (by distance of stride bytes) doublets of floats, corresponding to x and y coordinates of the vertices.


  • dest - The destination buffer
  • stride - Distance (in bytes) between starts of successive pairs of coordinates
  • points - An array of 4 pairs of coordinates of the 4 control points
  • thickness - Thickness of the spline ribbon
  • num_segments - The number of points to calculate