[bind-uniform-array] ( value>>-quot type texture-unit name dim -- texture-unit' quot )


Vocabulary
gpu.render.private

Inputs
value>>-quotan object
typean object
texture-unitan object
namean object
diman object


Outputs
texture-unit'an object
quotan object


Definition


:: [bind-uniform-array]
( value>>-quot type texture-unit name dim -- texture-unit' quot )
{ name uniform-index } >quotation :> index-quot
{ index-quot value>>-quot bi* } >quotation :> pre-quot type
H{
{
mat4-uniform
{
[ dim 0 ]
dip
4
4
>uniform-matrix-array
glUniformMatrix4fv
}
}
{
ivec2-uniform
{ dim swap 2 >uniform-ivec-array glUniform2i }
}
{
mat3x2-uniform
{
[ dim 0 ]
dip
3
2
>uniform-matrix-array
glUniformMatrix3x2fv
}
}
{
mat4x3-uniform
{
[ dim 0 ]
dip
4
3
>uniform-matrix-array
glUniformMatrix4x3fv
}
}
{
vec2-uniform
{ dim swap 2 >uniform-vec-array glUniform2f }
}
{
vec3-uniform
{ dim swap 3 >uniform-vec-array glUniform3f }
}
{
ivec4-uniform
{ dim swap 4 >uniform-ivec-array glUniform4iv }
}
{
uvec4-uniform
{ dim swap 4 >uniform-uvec-array glUniform4uiv }
}
{
bvec4-uniform
{ dim swap 4 >uniform-bvec-array glUniform4iv }
}
{
mat2x4-uniform
{
[ dim 0 ]
dip
2
4
>uniform-matrix-array
glUniformMatrix2x4fv
}
}
{
int-uniform
{ dim swap >uniform-int-array glUniform1iv }
}
{
texture-uniform
{
drop
dim
dup
<iota>
[ texture-unit + ]
int-array{ }
map-as
glUniform1iv
}
}
{
vec4-uniform
{ dim swap 4 >uniform-vec-array glUniform4fv }
}
{
bvec2-uniform
{ dim swap 2 >uniform-bvec-array glUniform2iv }
}
{
bvec3-uniform
{ dim swap 3 >uniform-bvec-array glUniform3iv }
}
{
mat2x3-uniform
{
[ dim 0 ]
dip
2
3
>uniform-matrix-array
glUniformMatrix2x3fv
}
}
{
mat4x2-uniform
{
[ dim 0 ]
dip
4
2
>uniform-matrix-array
glUniformMatrix4x2fv
}
}
{
uvec2-uniform
{ dim swap 2 >uniform-uvec-array glUniform2ui }
}
{
mat3-uniform
{
[ dim 0 ]
dip
3
3
>uniform-matrix-array
glUniformMatrix3fv
}
}
{
uvec3-uniform
{ dim swap 3 >uniform-uvec-array glUniform3ui }
}
{
ivec3-uniform
{ dim swap 3 >uniform-ivec-array glUniform3i }
}
{
mat2-uniform
{
[ dim 0 ]
dip
2
2
>uniform-matrix-array
glUniformMatrix2fv
}
}
{
mat3x4-uniform
{
[ dim 0 ]
dip
3
4
>uniform-matrix-array
glUniformMatrix3x4fv
}
}
{
bool-uniform
{ dim swap >uniform-bool-array glUniform1iv }
}
{
uint-uniform
{ dim swap >uniform-uint-array glUniform1uiv }
}
{
float-uniform
{ dim swap >uniform-float-array glUniform1fv }
}
} at [ uniform invalid-uniform-type ] unless*
>quotation :> value-quot type uniform-type-texture-units dim
* texture-unit + pre-quot value-quot append ;