Provided by: allegro5-doc_5.2.3.0-1_all bug

NAME

       ALLEGRO_PRIM_ATTR - Allegro 5 API

SYNOPSIS

              #include <allegro5/allegro_primitives.h>

              typedef enum ALLEGRO_PRIM_ATTR

DESCRIPTION

       Enumerates the types of vertex attributes that a custom vertex may have.

       • ALLEGRO_PRIM_POSITION  -  Position  information,  can  be  stored  only  in ALLEGRO_PRIM_SHORT_2, ALLE‐
         GRO_PRIM_FLOAT_2 and ALLEGRO_PRIM_FLOAT_3.

       • ALLEGRO_PRIM_COLOR_ATTR - Color information, stored in an ALLEGRO_COLOR(3alleg5).  The storage field of
         ALLEGRO_VERTEX_ELEMENT is ignored

       • ALLEGRO_PRIM_TEX_COORD - Texture coordinate information, can be stored only in ALLEGRO_PRIM_FLOAT_2 and
         ALLEGRO_PRIM_SHORT_2.  These coordinates are normalized by the width and height of the texture, meaning
         that the bottom-right corner has texture coordinates of (1, 1).

       • ALLEGRO_PRIM_TEX_COORD_PIXEL  -  Texture  coordinate  information,  can  be  stored   only   in   ALLE‐
         GRO_PRIM_FLOAT_2 and ALLEGRO_PRIM_SHORT_2.  These coordinates are measured in pixels.

       • ALLEGRO_PRIM_USER_ATTR  - A user specified attribute.  You can use any storage for this attribute.  You
         may have at most ALLEGRO_PRIM_MAX_USER_ATTR (currently 10) of these that you can specify by  adding  an
         index  to  the value of ALLEGRO_PRIM_USER_ATTR, e.g.  the first user attribute is ALLEGRO_PRIM_USER_AT‐
         TR + 0, the second is ALLEGRO_PRIM_USER_ATTR + 1 and so on.

         To access these custom attributes from GLSL shaders you need to declare  attributes  that  follow  this
         nomenclature: user_attr_# where # is the index of the attribute.

         To  access  these custom attributes from HLSL you need to declare a parameter with the following seman‐
         tics: TEXCOORD{# + 2} where # is the index of the attribute.  E.g.  the first attribute can be accessed
         via TEXCOORD2, second via TEXCOORD3 and so on.

         Since: 5.1.6

SEE ALSO

       ALLEGRO_VERTEX_DECL(3alleg5), ALLEGRO_PRIM_STORAGE(3alleg5)

Allegro reference manual                                                              ALLEGRO_PRIM_ATTR(3alleg5)