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 54 55 56
|
.\" Automatically generated by Pandoc 1.19.2.4
.\"
.TH "al_draw_prim" "3" "" "Allegro reference manual" ""
.hy
.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 array.
.PP
\f[I]Parameters:\f[]
.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[] 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)
|