table of contents
al_triangulate_polygon(3)  al_triangulate_polygon(3) 
NAME¶
al_triangulate_polygon  Allegro 5 API
SYNOPSIS¶

#include <allegro5/allegro_primitives.h> bool al_triangulate_polygon(
const float* vertices, size_t vertex_stride, const int* vertex_counts,
void (*emit_triangle)(int, int, int, void*), void* userdata)
DESCRIPTION¶
Divides a simple polygon into triangles, with zero or more other simple polygons subtracted from it  the holes. The holes cannot touch or intersect with the outline of the main polygon. Simple means the polygon does not have to be convex but must not be selfoverlapping.
Parameters:
 •
 vertices  Interleaved array of (x, y) vertex coordinates for each of the polygons, including holes.
 •
 vertex_stride  distance (in bytes) between successive pairs of vertices in the array.
 •
 vertex_counts  Number of vertices for each polygon. The number of vertices in the main polygon is given by vertex_counts[0] and must be at least three. Subsequent elements indicate the number of vertices in each hole. The array must be terminated with an element with value zero.
 •
 emit_triangle  a function to be called for every set of three points that form a triangle. The function is passed the indices of the points in vertices and userdata.
 •
 userdata  arbitrary data to be passed to emit_triangle.
SINCE¶
5.1.0
SEE ALSO¶
Allegro reference manual 