.\" Automatically generated by Pandoc 3.4 .\" .TH "al_draw_prim" "3" "" "Allegro reference manual" .SH NAME al_draw_prim \- Allegro 5 API .SH SYNOPSIS .IP .EX #include \f[B]\f[R] int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl, ALLEGRO_BITMAP* texture, int start, int end, int type) .EE .SH DESCRIPTION Draws a subset of the passed vertex array. .PP \f[I]Parameters:\f[R] .IP \[bu] 2 texture \- Texture to use, pass NULL to use only color shaded primitves .IP \[bu] 2 vtxs \- Pointer to an array of vertices .IP \[bu] 2 decl \- Pointer to a [vertex declaration]al_create_vertex_decl(3). If set to NULL, the vertices are assumed to be of the ALLEGRO_VERTEX(3) type .IP \[bu] 2 start \- Start index of the subset of the vertex array to draw .IP \[bu] 2 end \- One past the last index of the subset of the vertex array to draw .IP \[bu] 2 type \- A member of the ALLEGRO_PRIM_TYPE(3) enumeration, specifying what kind of primitive to draw .PP \f[I]Returns:\f[R] Number of primitives drawn .PP For example to draw a textured triangle you could use: .IP .EX 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); .EE .SH SEE ALSO ALLEGRO_VERTEX(3), ALLEGRO_PRIM_TYPE(3), ALLEGRO_VERTEX_DECL(3), al_draw_indexed_prim(3)