Handbook
Glossary
[bind-uniform-array] ( value>>-quot type texture-unit name dim -- texture-unit' quot )
Vocabulary
gpu
.
render
.
private
Inputs
value>>-quot
an
object
type
an
object
texture-unit
an
object
name
an
object
dim
an
object
Outputs
texture-unit'
an
object
quot
an
object
Definition
USING:
assocs
gpu.render
gpu.shaders
kernel
math
opengl.gl
quotations
sequences
specialized-arrays.instances.alien.c-types.int
;
IN:
gpu.render.private
::
[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
;