Fixes #654 - HUD/UI previously bypassed greyscale. r_greyscale now supports partial desaturation [0-1]. Removed unused legacy logic from tr_shade.c
15 lines
450 B
GLSL
15 lines
450 B
GLSL
uniform sampler2D u_TextureMap;
|
|
uniform float u_Greyscale;
|
|
varying vec2 var_TexCoords;
|
|
|
|
// From Rec. 709-1 4.2 "Derivation of luminance signal"
|
|
const vec3 LUMA = vec3(0.2125, 0.7154, 0.0721);
|
|
|
|
void main() {
|
|
vec4 color = texture2D(u_TextureMap, var_TexCoords);
|
|
if (u_Greyscale > 0.0) {
|
|
float y = dot(color.rgb, LUMA);
|
|
color.rgb = mix(color.rgb, vec3(y), clamp(u_Greyscale, 0.0, 1.0));
|
|
}
|
|
gl_FragColor = color;
|
|
} |