File: ALLEGRO_PRIM_ATTR.3

package info (click to toggle)
allegro5 2%3A5.2.2-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 23,032 kB
  • sloc: ansic: 120,340; cpp: 15,707; objc: 4,805; python: 2,915; java: 2,195; sh: 887; xml: 86; makefile: 49; perl: 37; pascal: 24
file content (58 lines) | stat: -rw-r--r-- 2,029 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
.TH "ALLEGRO_PRIM_ATTR" "3" "" "Allegro reference manual" ""
.SH NAME
.PP
ALLEGRO_PRIM_ATTR \- Allegro 5 API
.SH SYNOPSIS
.IP
.nf
\f[C]
#include\ <allegro5/allegro_primitives.h>

typedef\ enum\ ALLEGRO_PRIM_ATTR
\f[]
.fi
.SH DESCRIPTION
.PP
Enumerates the types of vertex attributes that a custom vertex may have.
.IP \[bu] 2
ALLEGRO_PRIM_POSITION \- Position information, can be stored only in
ALLEGRO_PRIM_SHORT_2, ALLEGRO_PRIM_FLOAT_2 and ALLEGRO_PRIM_FLOAT_3.
.IP \[bu] 2
ALLEGRO_PRIM_COLOR_ATTR \- Color information, stored in an
ALLEGRO_COLOR(3).
The storage field of ALLEGRO_VERTEX_ELEMENT is ignored
.IP \[bu] 2
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).
.IP \[bu] 2
ALLEGRO_PRIM_TEX_COORD_PIXEL \- Texture coordinate information, can be
stored only in ALLEGRO_PRIM_FLOAT_2 and ALLEGRO_PRIM_SHORT_2.
These coordinates are measured in pixels.
.IP \[bu] 2
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 \f[C]ALLEGRO_PRIM_USER_ATTR\ +\ 0\f[], the
second is \f[C]ALLEGRO_PRIM_USER_ATTR\ +\ 1\f[] and so on.
.RS 2
.PP
To access these custom attributes from GLSL shaders you need to declare
attributes that follow this nomenclature: \f[C]user_attr_#\f[] where #
is the index of the attribute.
.PP
To access these custom attributes from HLSL you need to declare a
parameter with the following semantics: \f[C]TEXCOORD{#\ +\ 2}\f[] where
# is the index of the attribute.
E.g.
the first attribute can be accessed via \f[C]TEXCOORD2\f[], second via
\f[C]TEXCOORD3\f[] and so on.
.PP
Since: 5.1.6
.RE
.SH SEE ALSO
.PP
ALLEGRO_VERTEX_DECL(3), ALLEGRO_PRIM_STORAGE(3)