blob: f22103072d0ba5174659f879d3d13ec8186826bf [file] [log] [blame]
#import "Common/ShaderLib/Hdr.glsllib"
varying vec2 texCoord;
uniform sampler2D m_Texture;
uniform sampler2D m_Lum;
uniform sampler2D m_Lum2;
uniform float m_A;
uniform float m_White;
uniform float m_BlendFactor;
uniform float m_Gamma;
void main() {
float avgLumA = HDR_DecodeLum( texture2D(m_Lum, vec2(0.0)) );
float avgLumB = HDR_DecodeLum( texture2D(m_Lum2, vec2(0.0)) );
float lerpedLum = mix(avgLumA, avgLumB, m_BlendFactor);
vec4 color = texture2D(m_Texture, texCoord);
vec3 c1 = HDR_ToneMap(color.rgb, lerpedLum, m_A, m_White);
//vec3 c2 = HDR_ToneMap2(color.rgb, lerpedLum, m_A * vec2(0.25), m_White);
//float l1 = HDR_GetLuminance(c1);
//float l2 = HDR_GetLuminance(c2);
//vec3 final = mix(c2, c1, clamp(l1, 0.0, 1.0));
//tonedColor = pow(tonedColor, vec3(m_Gamma));
gl_FragColor = vec4(c1, color.a);
}