1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
.TH al_draw_prim 3 "" "Allegro reference manual"
.SH NAME
.PP
al_draw_prim \- Allegro 5 API
.SH SYNOPSIS
.IP
.nf
\f[C]
#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)
\f[]
.fi
.SH DESCRIPTION
.PP
Draws a subset of the passed vertex buffer.
.PP
\f[I]Parameters:\f[]
.IP \[bu] 2
texture \- Texture to use, pass 0 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.
If set to NULL, the vertices are assumed to be of the ALLEGRO_VERTEX
type
.IP \[bu] 2
start \- Start index of the subset of the vertex buffer to draw
.IP \[bu] 2
end \- One past the last index of subset of the vertex buffer 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[] Number of primitives drawn
.PP
For example to draw a textured triangle you could use:
.IP
.nf
\f[C]
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);
\f[]
.fi
.SH SEE ALSO
.PP
ALLEGRO_VERTEX(3), ALLEGRO_PRIM_TYPE(3), ALLEGRO_VERTEX_DECL(3),
al_draw_indexed_prim(3)
|