How are you setting the Projection value from C#? That would be my best guess as to where the problem lies, as I’m setting my Projection as a matrix in pretty much all my shaders and not seeing this particular issue.
Shader snippet:
matrix Projection;
VSOutput VSQuad(VSInput input)
{
VSOutput output;
float4 worldPosition = mul(input.position, World);
float4 viewPosition = mul(worldPosition, View);
output.position = mul(viewPosition, Projection);
// Lots of unrelated code
return output;
}
And in code when setting:
UnitRenderEffect.Parameters["Projection"].SetValue( projMat );
Where projMat is a Matrix object and UnitRenderEffect is an Effect object.
I did a quick sanity check and changed my Projection variable in the shader from matrix to float4x4 but it still worked so I don’t think there is an issue there.