al_draw_indexed_buffer(1) Allegro 5 API


#include <allegro5/allegro_primitives.h>
int al_draw_indexed_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,
   ALLEGRO_BITMAP* texture, ALLEGRO_INDEX_BUFFER* index_buffer,
   int start, int end, int type)


Draws a subset of the passed vertex buffer. This function uses an index buffer to specify which vertices to use. Both buffers must not be locked. Additionally, to draw onto memory bitmaps or with memory bitmap textures both buffers must support reading (i.e. they must be created with the ALLEGRO_PRIM_BUFFER_READWRITE).


  • vertex_buffer - Vertex buffer to draw
  • texture - Texture to use, pass NULL to use only color shaded primitves
  • index_buffer - Index buffer to use
  • start - Start index of the subset of the vertex buffer to draw
  • end - One past the last index of the subset of the vertex buffer to draw
  • type - A member of the ALLEGRO_PRIM_TYPE(3alleg5) enumeration, specifying what kind of primitive to draw. Note that ALLEGRO_PRIM_LINE_LOOP and ALLEGRO_PRIM_POINT_LIST are not supported.

Returns: Number of primitives drawn