SparrowRenderer/shaders/hdr.frag.glsl
2016-01-03 20:03:04 +01:00

22 lines
438 B
GLSL

#version 330 core
uniform sampler2DRect colorSampler;
uniform float exposition;
uniform float gamma;
layout(location = 0)out vec4 outColor;
void main(void) {
ivec2 pos = ivec2(gl_FragCoord.xy);
vec3 color = texelFetch(colorSampler, pos).xyz;
// Exposure tone mapping
vec3 mapped = vec3(1.0) - exp(-color * 1);
// Gamma correction
mapped = pow(mapped, vec3(1.0 / gamma));
outColor = vec4(mapped, 1.0);
}