al_triangulate_polygon(3)

al_triangulate_polygon3

Allegro 5 api

Usage

#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)

Overview

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 self-overlapping.

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

From allegro 5.2.11.3-2 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.