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
|
[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;
struct S1 {
float f;
sampler2D tex;
};
struct S2 {
float f;
S1 s;
};
uniform S2 s;
vec4 foo(in S2 foo_s, vec4 foo_texcoords)
{
return texture2D(foo_s.s.tex, foo_texcoords.xy) * foo_s.s.f * foo_s.f;
}
void main()
{
gl_FragColor = foo(s, texcoords);
}
[test]
uniform int s.s.tex 1
uniform float s.s.f 1.0
uniform float s.f 1.0
texture rgbw 1 (8, 8)
draw rect -1 -1 2 2
relative probe rgb (0.25, 0.25) (1.0, 0.0, 0.0)
relative probe rgb (0.75, 0.25) (0.0, 1.0, 0.0)
relative probe rgb (0.25, 0.75) (0.0, 0.0, 1.0)
relative probe rgb (0.75, 0.75) (1.0, 1.0, 1.0)
|