21 lines
503 B
GLSL
21 lines
503 B
GLSL
uniform sampler2DRect colorSampler;
|
|
|
|
uniform vec3 minMaxMean;
|
|
uniform float gamma;
|
|
|
|
layout(location = 0)out vec4 outColor;
|
|
|
|
void main(void) {
|
|
ivec2 pos = ivec2(gl_FragCoord.xy);
|
|
vec3 color = texelFetch(colorSampler, pos).xyz;
|
|
|
|
//vec3 mapped = (color-minMaxMean.r)/(minMaxMean.g-minMaxMean.r);
|
|
// Exposure tone mapping
|
|
vec3 mapped = vec3(1.0) - exp(-color * 0.5/minMaxMean.b);
|
|
|
|
// Gamma correction
|
|
mapped = pow(mapped, vec3(1.0 / gamma));
|
|
|
|
outColor = vec4(mapped, 1.0);
|
|
}
|