SparrowRenderer/shaders/posteffects.frag.glsl

27 lines
466 B
GLSL

// LIGHT BUFFER
uniform sampler2DRect lightBuffer;
// OUTPUT LIGHT
layout(location = 0)out vec4 outColor;
// MAIN PROGRAM
void main(void) {
ivec2 texCoord = ivec2(gl_FragCoord.xy);
vec3 color = texelFetch(lightBuffer, texCoord).xyz;
// HDR tonemapping
#ifdef HDR_TONEMAPPING
color = color / (color + vec3(1.0));
#endif
// gamma correct
#ifdef GAMMA_CORRECT
color = pow(color, vec3(1.0/2.2));
#endif
outColor = vec4(color, 1.0);
}