2016-03-15 11:29:53 +01:00
|
|
|
#version 450
|
|
|
|
|
|
|
|
#ifdef GL_ES
|
|
|
|
precision mediump float;
|
|
|
|
#endif
|
|
|
|
|
2016-04-01 01:48:18 +02:00
|
|
|
uniform sampler2D tex;
|
|
|
|
uniform sampler2D tex2;
|
2016-03-15 11:29:53 +01:00
|
|
|
|
|
|
|
in vec2 texCoord;
|
2016-08-13 20:38:45 +02:00
|
|
|
out vec4 outColor;
|
2016-03-15 11:29:53 +01:00
|
|
|
|
2016-04-01 01:48:18 +02:00
|
|
|
const float exposure = 1.0;
|
|
|
|
const float gamma = 2.2;
|
|
|
|
|
2016-03-15 11:29:53 +01:00
|
|
|
void main() {
|
2016-04-01 01:48:18 +02:00
|
|
|
vec3 col = texture(tex, texCoord).rgb;
|
|
|
|
vec3 col2 = texture(tex2, texCoord).rgb;
|
|
|
|
|
2016-04-22 16:52:38 +02:00
|
|
|
// Additive blending
|
2016-04-01 01:48:18 +02:00
|
|
|
col += col2;
|
|
|
|
|
2016-04-22 16:52:38 +02:00
|
|
|
// Tone mapping
|
2016-04-01 01:48:18 +02:00
|
|
|
// vec3 result = vec3(1.0) - exp(-col * exposure);
|
|
|
|
|
2016-04-22 16:52:38 +02:00
|
|
|
// Gamma correction
|
2016-04-01 01:48:18 +02:00
|
|
|
// result = pow(result, vec3(1.0 / gamma));
|
2016-08-13 20:38:45 +02:00
|
|
|
// outColor.rgb = result;
|
2016-04-01 01:48:18 +02:00
|
|
|
|
2016-08-13 20:38:45 +02:00
|
|
|
outColor.rgb = col;
|
2016-03-15 11:29:53 +01:00
|
|
|
}
|