File: al_set_shader_int_vector.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 (53 lines) | stat: -rw-r--r-- 1,257 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
.TH "al_set_shader_int_vector" "3" "" "Allegro reference manual" ""
.SH NAME
.PP
al_set_shader_int_vector \- Allegro 5 API
.SH SYNOPSIS
.IP
.nf
\f[C]
#include\ <allegro5/allegro.h>

bool\ al_set_shader_int_vector(const\ char\ *name,
\ \ \ int\ num_components,\ const\ int\ *i,\ int\ num_elems)
\f[]
.fi
.SH DESCRIPTION
.PP
Sets an integer vector array uniform of the current target bitmap\[aq]s
shader.
The \[aq]num_components\[aq] parameter can take one of the values 1, 2,
3 or 4.
If it is 1 then an array of \[aq]num_elems\[aq] integer elements is
added.
Otherwise each added array element is assumed to be a vector with 2, 3
or 4 components in it.
.PP
For example, if you have a GLSL uniform declared as
\f[C]uniform\ ivec3\ flowers[4]\f[] or an HLSL uniform declared as
\f[C]uniform\ int3\ flowers[4]\f[], then you\[aq]d use this function
from your code like so:
.IP
.nf
\f[C]
int\ flowers[4][3]\ =
{
\ \ \ {1,\ 2,\ 3},
\ \ \ {4,\ 5,\ 6},
\ \ \ {7,\ 8,\ 9},
\ \ \ {2,\ 5,\ 7}
};

al_set_shader_int_vector("flowers",\ 3,\ (int*)flowers,\ 4);
\f[]
.fi
.PP
Returns true on success.
Otherwise returns false, e.g.
if the uniform by that name does not exist in the shader.
.SH SINCE
.PP
5.1.0
.SH SEE ALSO
.PP
al_set_shader_float_vector(3), al_use_shader(3)