logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ALLEGRO_VERTEX_ELEMENT - Allegro 5 API

Description

       A  small  structure  describing  a certain element of a vertex.  E.g.  the position of the vertex, or its
       color.  These structures are used by the al_create_vertex_decl(3alleg5) function  to  create  the  vertex
       declaration.   For  that they generally occur in an array.  The last element of such an array should have
       the attribute field equal to 0, to signify that it is the end of the array.  Here is an example code that
       would create a declaration describing the  ALLEGRO_VERTEX(3alleg5)  structure  (passing  this  as  vertex
       declaration to al_draw_prim would be identical to passing NULL):

              /* On compilers without the offsetof keyword you need to obtain the
               * offset with sizeof and make sure to account for packing.
               */
              ALLEGRO_VERTEX_ELEMENT elems[] = {
                 {ALLEGRO_PRIM_POSITION, ALLEGRO_PRIM_FLOAT_3, offsetof(ALLEGRO_VERTEX, x)},
                 {ALLEGRO_PRIM_TEX_COORD_PIXEL, ALLEGRO_PRIM_FLOAT_2, offsetof(ALLEGRO_VERTEX, u)},
                 {ALLEGRO_PRIM_COLOR_ATTR, 0, offsetof(ALLEGRO_VERTEX, color)},
                 {0, 0, 0}
              };
              ALLEGRO_VERTEX_DECL* decl = al_create_vertex_decl(elems, sizeof(ALLEGRO_VERTEX));

       Fields:

       • attribute  -  A  member  of  the ALLEGRO_PRIM_ATTR(3alleg5) enumeration, specifying what this attribute
         signifies

       • storage - A member of the ALLEGRO_PRIM_STORAGE(3alleg5) enumeration, specifying how this  attribute  is
         stored

       • offset - Offset in bytes from the beginning of the custom vertex structure.  The C function offsetof is
         very useful here.

Name

       ALLEGRO_VERTEX_ELEMENT - Allegro 5 API

See Also

al_create_vertex_decl(3alleg5),         ALLEGRO_VERTEX_DECL(3alleg5),         ALLEGRO_PRIM_ATTR(3alleg5),
       ALLEGRO_PRIM_STORAGE(3alleg5)

Allegro reference manual                                                         ALLEGRO_VERTEX_ELEMENT(3alleg5)

Synopsis

              #include <allegro5/allegro_primitives.h>

              typedef struct ALLEGRO_VERTEX_ELEMENT ALLEGRO_VERTEX_ELEMENT;

See Also