fteqw/engine/shaders/hlsl11/menutint.hlsl
Spoike 11e6214daf Add explicit skyroom fog.
Changed how cubemaps are held in memory, making all images basically just 3d textures.
Don't start up at all if no game data is found.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5570 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-18 08:37:38 +00:00

46 lines
953 B
HLSL

!!samps 1
!!cvard3 r_menutint=0.2 0.2 0.2
!!cvardf r_menutint_inverse=0.0
struct a2v
{
float4 pos: POSITION;
float2 tc: TEXCOORD0;
float4 vcol: COLOR0;
};
struct v2f
{
float4 pos: SV_POSITION;
float2 tc: TEXCOORD0;
float4 vcol: COLOR0;
};
#include <ftedefs.h>
#ifdef VERTEX_SHADER
v2f main (a2v inp)
{
v2f outp;
outp.pos = mul(m_projection, inp.pos);
outp.tc = inp.tc;
outp.vcol = inp.vcol;
return outp;
}
#endif
#ifdef FRAGMENT_SHADER
Texture2D t_t0;
SamplerState s_t0;
static const float3 lumfactors = float3 (0.299, 0.587, 0.114);
float4 main (v2f inp) : SV_TARGET
{
float4 texcolor = t_t0.Sample(s_t0, inp.tc);
float luminance = dot(lumfactors, texcolor.rgb);
texcolor.rgb = float3(luminance, luminance, luminance);
texcolor.rgb *= r_menutint;
texcolor.rgb = (r_menutint_inverse > 0) ? (1.0 - texcolor.rgb) : texcolor.rgb;
return texcolor * inp.vcol;
}
#endif