fteqw/engine/shaders/vulkan/menutint.glsl

34 lines
961 B
GLSL

!!cvari r_menutint_inverse=0
!!cvar3f r_menutint=0.68 0.4 0.13
!!samps 1
#include "sys/defs.h"
const vec4 e_rendertexturescale = vec4(1,1,1,1);
layout(location=0) varying vec2 texcoord;
#ifdef VERTEX_SHADER
void main(void)
{
#ifdef VULKAN
texcoord.xy = v_texcoord.xy*e_rendertexturescale.xy;
#else
texcoord.x = v_texcoord.x*e_rendertexturescale.x;
texcoord.y = (1.0-v_texcoord.y)*e_rendertexturescale.y;
#endif
gl_Position = ftetransform();
}
#endif
#ifdef FRAGMENT_SHADER
const vec3 lumfactors = vec3(0.299, 0.587, 0.114);
const vec3 invertvec = vec3(1.0, 1.0, 1.0);
void main(void)
{
vec3 texcolor = texture2D(s_t0, texcoord).rgb;
float luminance = dot(lumfactors, texcolor);
texcolor = vec3(luminance, luminance, luminance);
texcolor *= cvar_r_menutint;
texcolor = (cvar_r_menutint_inverse > 0) ? (invertvec - texcolor) : texcolor;
gl_FragColor = vec4(texcolor, 1.0);
}
#endif