aboutsummaryrefslogtreecommitdiffstats
path: root/src/effects/shaders/combiner.frag
blob: 51c0e2d8f5f504614b760303ebe27a39d47737f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
void MAIN()
{
    vec4 sourceColor = texture(INPUT, INPUT_UV);
    vec4 summation = texture(downsample2, INPUT_UV) + texture(downsample4, INPUT_UV);
    vec3 bloom_result = sourceColor.xyz * exposureExp2 + summation.xyz;
    vec3 thresholded = clamp(bloom_result.xyz, 0.0, channelThreshold) / channelThreshold;
    vec3 tonemapped =  pow(thresholded, vec3(1.0 / gamma));
    vec3 final_color = mix(thresholded, tonemapped, tonemappingLerp);
    float resultAlpha = max(summation.a, sourceColor.a);
    FRAGCOLOR = vec4(final_color, resultAlpha);
}