sampler tex : register(s0);

float4 PS_ClearType_Dst( float2 uv: TEXCOORD0, float4 fc: COLOR0 ) : COLOR0
{
	float4 c = tex2D(tex, uv);
	if( c.a == 0 )
		clip(-1); 
	return c * fc.a;
}

float4 PS_ClearType_Src( float2 uv: TEXCOORD0, float4 fc: COLOR0 ) : COLOR0
{
	float4 c = tex2D(tex, uv);    
	if( c.a == 0 )
		clip(-1); 
	return float4(c.rgb * fc.rgb * fc.a, 1);
}

technique ClearType_2pass
{
	// FC_r * TEX_r * A + DST_r * ( 1 - TEX_r * A)
	pass AlphaBlend_Dst
	{
		// DST_r * ( 1 - TEX_r)
		AlphaBlendEnable = True;
		SrcBlend = Zero;
		DestBlend = InvSrcColor;
		PixelShader  = compile ps_2_0 PS_ClearType_Dst();
	}

	pass AlphaBlend_Src
	{
		// FC_r * TEX_r
		AlphaBlendEnable = True;
		SrcBlend = One;
		DestBlend = SrcAlpha;
		PixelShader  = compile ps_2_0 PS_ClearType_Src();
	}
}
