#version 330 core flat in uvec2 pass_data; in float pass_ao; out vec4 color; const float TINT[6] = float[]( // px, nx 0.9, 0.9, // py, ny 1, 0.7, // pz, nz 0.8, 0.8 ); void main(void) { uint block = (pass_data.x >> 28) & 15u; uint face = (pass_data.x >> 25) & 7u; float tint = TINT[face]; tint *= 1.0 - pow(pass_ao / 3.0, 1.2) * 0.65; color = vec4(vec3(tint), 1); }