// input fragment
struct FragIn
{
float2 texcoord : TEXCOORD0;
};
// output fragment
struct FragOut
{
float4 color : COLOR;
};
uniform float4 surfacecolor;
// fragment shader main entry
FragOut main(FragIn IN)
{
FragOut OUT;
float1 v = 2.0 * IN.texcoord.y;
v = 1.01f - abs(1.0f - v); // Some cards have a rounding error
OUT.color = float4(v,v,v, 1.0f) * surfacecolor;
return OUT;
}