 
 		corners[i] = (m_mv * vec4(pos, 1.0)).xyz;
 	}
-	EMIT_QUAD(3, 2, 0, 1, vec3( 0.0,  0.0, -1.0)); // back
-	EMIT_QUAD(6, 7, 5, 4, vec3( 0.0,  0.0,  1.0)); // front
-	EMIT_QUAD(7, 3, 4, 0, vec3( 1.0,  0.0,  0.0)); // right
-	EMIT_QUAD(2, 6, 1, 5, vec3(-1.0,  0.0,  0.0)); // left
-	EMIT_QUAD(5, 4, 1, 0, vec3( 0.0,  1.0,  0.0)); // top
-	EMIT_QUAD(2, 3, 6, 7, vec3( 0.0, -1.0,  0.0)); // bottom
+	vec3 col = normalize(gl_in[0].gl_Position.xyz);
+	EMIT_QUAD(3, 2, 0, 1, vec3( 0.0,  0.0, -1.0), col); // back
+	EMIT_QUAD(6, 7, 5, 4, vec3( 0.0,  0.0,  1.0), col); // front
+	EMIT_QUAD(7, 3, 4, 0, vec3( 1.0,  0.0,  0.0), col); // right
+	EMIT_QUAD(2, 6, 1, 5, vec3(-1.0,  0.0,  0.0), col); // left
+	EMIT_QUAD(5, 4, 1, 0, vec3( 0.0,  1.0,  0.0), col); // top
+	EMIT_QUAD(2, 3, 6, 7, vec3( 0.0, -1.0,  0.0), col); // bottom
     EndPrimitive();
 }
 

in vec2 uv;
in vec3 lightdir;
in vec3 eyepos;


void main()
{

    }
    float att = clamp(1.0 - length(eyepos)/200.0, 0.0, 1.0);
    att *= att;
    fragColor = c * max(intensity * diffuse + spec, ambient) * vec4(color, 1.0) * att;
}


