blob: fe9f5d7080755bfbce268a1f7c7b608a5ccfda41 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#version 330 core
in VS_OUT {
vec2 tex_coords;
} vs_out;
out vec4 frag_color;
uniform sampler2D scene;
uniform sampler2D blur;
uniform bool bloom;
uniform float exposure;
void main()
{
const float gamma = 2.2;
vec3 scene_color = texture(scene, vs_out.tex_coords).rgb;
vec3 blur_color = texture(blur, vs_out.tex_coords).rgb;
if (bloom) {
scene_color += blur_color;
}
vec3 result = vec3(1.0) - exp(-scene_color * exposure);
result = pow(result, vec3(1.0 / gamma));
frag_color = vec4(result, 1.0);
}
|