al_draw_prim(3)al_draw_prim(3)NAMEal_draw_prim - Allegro 5 API
SYNOPSIS
#include <allegro5/allegro_primitives.h>
int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,
ALLEGRO_BITMAP* texture, int start, int end, int type)
DESCRIPTION
Draws a subset of the passed vertex buffer.
Parameters:
· texture - Texture to use, pass 0 to use only color shaded primitves
· vtxs - Pointer to an array of vertices
· decl - Pointer to a vertex declaration. If set to NULL, the vertices
are assumed to be of the ALLEGRO_VERTEX type
· start - Start index of the subset of the vertex buffer to draw
· end - One past the last index of subset of the vertex buffer to draw
· type - A member of the ALLEGRO_PRIM_TYPE(3) enumeration, specifying
what kind of primitive to draw
Returns: Number of primitives drawn
For example to draw a textured triangle you could use:
ALLEGRO_COLOR white = al_map_rgb_f(1, 1, 1);
ALLEGRO_VERTEX v[] = {
{.x = 128, .y = 0, .z = 0, .color = white, .u = 128, .v = 0},
{.x = 0, .y = 256, .z = 0, .color = white, .u = 0, .v = 256},
{.x = 256, .y = 256, .z = 0, .color = white, .u = 256, .v = 256}};
al_draw_prim(v, NULL, texture, 0, 3, ALLEGRO_PRIM_TRIANGLE_LIST);
SEE ALSOALLEGRO_VERTEX(3), ALLEGRO_PRIM_TYPE(3), ALLEGRO_VERTEX_DECL(3),
al_draw_indexed_prim(3)Allegro reference manualal_draw_prim(3)