return float4(finalColor.a, 0, 0, 1);
this will return red. you should do it like this:
return float4(Red, Green, Blue, Alpha);
if your just trying to return the color of the texel in the sprite sheet with the alpha value, you can just do this:
if you just want to completely not draw the transparent parts, you can clip, or stop pixels with a certain alpha value from even getting processed like this:
float4 finalColor = gSpriteSheet.Sample(PointSampler, input.texcoord); clip(finalColor.a - .25); return finalColor;
so anything with an alpha value of .25 or less will not be rendered.