Provided by: allegro5-doc_5.2.3.0-1_all 

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)