#version 330 core in vert_t { vec2 tex_coords; } vert; out vec4 frag_color; uniform sampler2D colorbuffer; void main(void) { const float gamma = 2.2; vec3 color = vec3(texture(colorbuffer, vert.tex_coords)); color /= color + vec3(1.0); color = pow(color, vec3(1.0 / gamma)); frag_color = vec4(color, 1.0); }