check that the color variable is correct; change float4 gColor = float4(1,1,1,0); to float4 gColor = float4(1,1,1,1); so that it is fully opaque. Without PixelShaderFunction, add finalColor.a = texel.a * PS.Diffuse.a; to ensure that texture transparency is applied. Disabling Culling, changing CullMode = 1; to CullMode = 0;, and testing the shader without lighting to see if the problem persists. Check that the windows texture has an alpha channel that is being applied correctly, and consider testing with the fallback shader to rule out interference