39 lines
		
	
	
		
			747 B
		
	
	
	
		
			GLSL
		
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			747 B
		
	
	
	
		
			GLSL
		
	
	
	
#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)
 | 
						|
}
 |