Files
OpenRA/glsl/postprocess_menufade.frag
2023-10-23 22:42:33 +03:00

33 lines
576 B
GLSL

#version {VERSION}
#ifdef GL_ES
precision mediump float;
#endif
uniform float From;
uniform float To;
uniform float Blend;
uniform sampler2D WorldTexture;
out vec4 fragColor;
vec4 ColorForEffect(float effect, vec4 c)
{
if (effect > 1.5)
{
float lum = 0.5 * (min(c.r, min(c.g, c.b)) + max(c.r, max(c.g, c.b)));
return vec4(lum, lum, lum, c.a);
}
if (effect > 0.5)
{
return vec4(0, 0, 0, c.a);
}
return c;
}
void main()
{
vec4 c = texelFetch(WorldTexture, ivec2(gl_FragCoord.xy), 0);
fragColor = mix(ColorForEffect(To, c), ColorForEffect(From, c), Blend);
}