uniform samplerRECT samp0 : register(s0);

void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{
  float4 emboss = (texRECT(samp0, uv0+1).rgba - texRECT(samp0, uv0-1).rgba)*2.0f;
  emboss -= (texRECT(samp0, uv0+float2(1,-1)).rgba - texRECT(samp0, uv0+float2(-1,1)).rgba);
  float4 color = texRECT(samp0, uv0).rgba;
  if (color.r > 0.8 && color.b + color.b < 0.2)
    ocol0 = float4(1,0,0,0);
  else {
    color += emboss;
    if (dot(color.rgb, float3(0.3, 0.5, 0.2)) > 0.5)
      ocol0 = float4(1,1,1,1);
    else
      ocol0 = float4(0,0,0,0);
  }
}