[require] GLSL >= 1.20 [vertex shader] varying vec4 values[4]; void main() { values[0] = vec4(0.2); values[1] = vec4(0.4); values[2] = vec4(0.6); values[3] = vec4(0.7); gl_Position = gl_Vertex; } [fragment shader] uniform int index; varying vec4 values[4]; void main() { gl_FragColor = values[index]; } [test] uniform int index 1 draw rect -1 -1 2 2 probe rgba 1 1 0.4 0.4 0.4 0.4