#version 140 | |
void main() | |
{ | |
struct s { | |
float y[5]; | |
} str; | |
float t; | |
int index = 5; // all indexing is 4 | |
str.y[4] = 2.0; // 2.0 | |
t = ++str.y[--index]; // 3.0 | |
str.y[4] += t; // 6.0 | |
t = str.y[4]--; // 5.0 (t = 6.0) | |
str.y[index++] += t; // 11.0 | |
--str.y[--index]; // 10.0 | |
float x = str.y[4]; | |
++x; | |
--x; | |
x++; | |
x--; | |
// x is 10.0 | |
float y = x * ++x; // 10 * 11 | |
float z = y * x--; // 110 * 11 | |
// x is 10.0 | |
// z is 1210.0 | |
vec4 v = vec4(1.0, 2.0, 3.0, 4.0); | |
v.y = v.z--; // (1,3,2,4) | |
v.x = --v.w; // (3,3,2,3) | |
gl_FragColor = z * v;// (3630.0, 3630.0, 2420.0, 3630.0) | |
} |