al_draw_prim
int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,
ALLEGRO_BITMAP* texture, int start, int end, int type)
Introduced in 5.0.0
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 - Primitive type to draw
Returns: Number of primitives drawn
For example to draw a textured triangle you could use:
ALLEGRO_VERTEX v[] = {
{.x = 128, .y = 0, .z = 0, .u = 128, .v = 0},
{.x = 0, .y = 256, .z = 0, .u = 0, .v = 256},
{.x = 256, .y = 256, .z = 0, .u = 256, .v = 256}};
al_draw_prim(v, NULL, texture, 0, 3, ALLEGRO_PRIM_TRIANGLE_LIST);
See also: ALLEGRO_VERTEX, ALLEGRO_PRIM_TYPE, ALLEGRO_VERTEX_DECL, al_draw_indexed_prim
Examples: ex_gp2xwiz, ex_prim
Most helpful discussions:
- fastest way to plot pixels A5 (4)
- 3D with Allegro 5 (1)
- Allegro 5 3D projections (1)
- Using Sine And Cosine For Rotation
- Vivace extra points. Its there a better way of doing this one.
- tranformations with A5
- [A5] Allegro display depth buffer?
- Rendering modes for bitmaps?
- First person camera using transformations
- Implementing a simple skybox.
Other recent discussions:
- Building a skybox using orthographic transfom
- FPS camera in Allegro 5
- [KrampusHack 2016] Dr. Evil F, Xmas edition
- Further question regarding camera and projection transforms
- Setting up projection and camera matrices correctly for bitmaps in 3D
- Locking bitmap is slower than not (?)
- [A5] Drawing a textured trapezoid (2D)
- Shader output is blocky
- Shader Problems - GLSL sampler3d() - 5.1.9
- Image transition too slow !