1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
[require]
GLSL >= 1.30
[vertex shader]
#version 130
void main()
{
gl_Position = gl_Vertex;
}
[fragment shader]
#version 130
uniform int i, j;
void main()
{
switch (i) {
case 0:
switch (j) {
case 0:
gl_FragColor = vec4(1.0, 0.0, 0.0, 0.0);
break;
case 1:
gl_FragColor = vec4(0.0, 0.0, 1.0, 0.0);
break;
default:
gl_FragColor = vec4(1.0, 0.0, 1.0, 0.0);
break;
}
break;
case 1:
switch (j) {
case 0:
gl_FragColor = vec4(0.0, 1.0, 0.0, 0.0);
break;
case 1:
gl_FragColor = vec4(1.0, 1.0, 1.0, 0.0);
break;
default:
gl_FragColor = vec4(1.0, 0.0, 1.0, 0.0);
break;
}
break;
default:
gl_FragColor = vec4(1.0, 0.0, 1.0, 0.0);
break;
}
}
[test]
uniform int i 0
uniform int j 0
draw rect -1 -1 1 1
uniform int i 1
uniform int j 0
draw rect 0 -1 1 1
uniform int i 0
uniform int j 1
draw rect -1 0 1 1
uniform int i 1
uniform int j 1
draw rect 0 0 1 1
relative probe rgba (0.0, 0.0) (1.0, 0.0, 0.0, 0.0)
relative probe rgba (1.0, 0.0) (0.0, 1.0, 0.0, 0.0)
relative probe rgba (0.0, 1.0) (0.0, 0.0, 1.0, 0.0)
relative probe rgba (1.0, 1.0) (1.0, 1.0, 1.0, 0.0)
|