#version 430 precision highp float; out vec4 frag_color; in vec2 tex_coords; uniform sampler2D colorTexture; uniform sampler2D positionTexture; void main() { vec3 hdr_color = texture(colorTexture, tex_coords).rgb; vec3 tone_mapped_color = hdr_color / (hdr_color + vec3(1.0)); tone_mapped_color = pow(tone_mapped_color, vec3(1.0/2.2)); vec3 position = texture(positionTexture, tex_coords).rgb; frag_color = vec4(tone_mapped_color, 1.0); }