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
       position	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 dec-
       laration	 describing  the  ALLEGRO_VERTEX(3) 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(3) enumeration,	speci-
	 fying what this attribute signifies

        storage - A member of the ALLEGRO_PRIM_STORAGE(3) enumeration,	speci-
	 fying 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.

SEE ALSO
       al_create_vertex_decl(3), ALLEGRO_VERTEX_DECL(3), ALLEGRO_PRIM_ATTR(3),
       ALLEGRO_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+14.3.quarterly>

home | help