Uniform#
- class moderngl.Uniform#
A uniform is a global GLSL variable declared with the “uniform” storage qualifier.
These act as parameters that the user of a shader program can pass to that program.
In ModernGL, Uniforms can be accessed using
Program.__getitem__()
orProgram.__iter__()
Methods#
- Uniform.read() bytes #
Read the value of the uniform.
- Uniform.write(data: Any) None #
Write the value of the uniform.
Attributes#
- Uniform.location#
The location of the uniform.
The location holds the value returned by the glGetUniformLocation. To set the value of the uniform use the
value
instead.- Type
int
- Uniform.dimension#
The dimension of the uniform.
GLSL type
dimension
sampler2D
1
sampler2DCube
1
sampler2DShadow
1
bool
1
bvec2
2
bvec3
3
bvec4
4
int
1
ivec2
2
ivec3
3
ivec4
4
uint
1
uvec2
2
uvec3
3
uvec4
4
float
1
vec2
2
vec3
3
vec4
4
double
1
dvec2
2
dvec3
3
dvec4
4
mat2
4
mat2x3
6
mat2x4
8
mat3x2
6
mat3
9
mat3x4
12
mat4x2
8
mat4x3
12
mat4
16
dmat2
4
dmat2x3
6
dmat2x4
8
dmat3x2
6
dmat3
9
dmat3x4
12
dmat4x2
8
dmat4x3
12
dmat4
16
- Type
int
- Uniform.array_length#
The length of the array of the uniform.
The array_length is 1 for non array uniforms.
- Type
int
- Uniform.name#
The name of the uniform.
The name does not contain leading [0]. The name may contain [ ] when the uniform is part of a struct.
- Type
str
- Uniform.value#
The value of the uniform.
Reading the value of the uniform may force the GPU to sync.
The value must be a tuple for non array uniforms. The value must be a list of tuples for array uniforms.
- Uniform.extra#
Any - Attribute for storing user defined objects
- Uniform.mglo#