| struct S { | |
| float2 v; | |
| }; | |
| void initialize(out S[2] z) { | |
| z[0].v = float2(0, 1); | |
| z[1].v = float2(2, 1); | |
| } | |
| half4 main(float2 coords) { | |
| float2 x[2]; | |
| x[0] = float2( 0, 0); | |
| x[1] = float2( 1, 0); | |
| float2 y[2]; | |
| y[0] = float2( 0, 1); | |
| y[1] = float2(-1, 2); | |
| S z[2]; | |
| initialize(z); | |
| return half4(x[0][0] * x[0][1] + z[0].v[0], // R=0 | |
| x[1][0] - x[1][1] * z[0].v[1], // G=1 | |
| y[0][0] / y[0][1] / z[1].v[0], // B=0 | |
| y[1][0] + y[1][1] * z[1].v[1]); // A=1 | |
| } |