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
|
[require]
GLSL >= 1.10
[vertex shader]
varying vec4 texcoords;
void main()
{
gl_Position = gl_Vertex;
texcoords = (gl_Vertex + 1.0) / 2.0;
}
[fragment shader]
varying vec4 texcoords;
uniform sampler2D tex[2];
vec4 foo(in sampler2D foo_tex[2], vec4 foo_texcoords)
{
if (foo_texcoords.x < 0.5)
return texture2D(foo_tex[0], foo_texcoords.xy);
else
return texture2D(foo_tex[1], foo_texcoords.xy);
}
void main()
{
gl_FragColor = foo(tex, texcoords);
}
[test]
uniform int tex[0] 0
uniform int tex[1] 1
texture checkerboard 0 0 (8, 8) (1.0, 0.0, 0.0, 0.0) (0.0, 0.0, 1.0, 0.0)
texture checkerboard 1 0 (8, 8) (0.0, 1.0, 1.0, 0.0) (1.0, 1.0, 0.0, 0.0)
draw rect -1 -1 2 2
relative probe rgb (0.25, 0.25) (1.0, 0.0, 0.0)
relative probe rgb (0.25, 0.75) (0.0, 0.0, 1.0)
relative probe rgb (0.75, 0.25) (1.0, 1.0, 0.0)
relative probe rgb (0.75, 0.75) (0.0, 1.0, 1.0)
|