Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ALLEGRO_VERTEX_ELEMENT(3)   Library Functions Manual   ALLEGRO_VERTEX_ELEMENT(3)

NAME
     ALLEGRO_VERTEX_ELEMENT - Allegro 5 API

SYNOPSIS
	    #include <allegro5/allegro_primitives.h>

	    typedef struct ALLEGRO_VERTEX_ELEMENT ALLEGRO_VERTEX_ELEMENT;

DESCRIPTION
     A	small structure describing a certain element of a vertex.  E.g.  the po-
     sition of the vertex, or its color.   These  structures  are  used  by  the
     al_create_vertex_decl(3)  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  de-
     scribing  the  ALLEGRO_VERTEX(3) structure (passing this as vertex declara-
     tion 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(3) enumeration,  specifying
       what this attribute signifies

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

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

SEE ALSO
     al_create_vertex_decl(3), ALLEGRO_VERTEX_DECL(3), ALLEGRO_PRIM_ATTR(3), AL-
     LEGRO_PRIM_STORAGE(3)

Allegro reference manual			       ALLEGRO_VERTEX_ELEMENT(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ALLEGRO_VERTEX_ELEMENT&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help