well the problem is you are trying to combine fixed functions with a pixel shader, this cant work because the pixel shader overrids your FF commands. Heres what you do:

get rid of the lest line in your pixel shader where it returns, and put this

Code:


float4 finalcolor =(0.2 * color) + ((shadow1 * (color * diff1 + (spec1)) * (1 -Attenuation1))*vecLightColor[1])+ ((shadow2 * (color * diff2 + (spec2)) * (1 -Attenuation2))*vecLightColor[2]));

finalcolor.a = color.a;

if (finalcolor.a>0.5)
{
finalcolor.a=1;
}

else
{
finalcolor.a=0.0;
}

return finalcolor;