// 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); }