[require] GL >= 2.0 GLSL >= 1.10 [vertex shader] uniform vec4 arg0[4]; uniform vec4 arg1[4]; uniform int i, j; varying vec4 color; void main() { gl_Position = gl_Vertex; color = arg0[i] + arg1[j]; } [fragment shader] varying vec4 color; void main() { gl_FragColor = color; } [test] uniform vec4 arg0[0] 0.1 0.0 0.0 0.0 uniform vec4 arg0[1] 0.0 0.2 0.0 0.0 uniform vec4 arg0[2] 0.3 0.0 0.0 0.0 uniform vec4 arg0[3] 0.4 0.0 0.0 0.0 uniform vec4 arg1[0] 0.0 0.0 0.1 0.0 uniform vec4 arg1[1] 0.0 0.0 0.2 0.0 uniform vec4 arg1[2] 0.0 0.3 0.0 0.0 uniform vec4 arg1[3] 0.0 0.0 0.4 0.0 uniform int i 1 uniform int j 2 draw rect -1 -1 2 2 probe all rgba 0.0 0.5 0.0 0.0