ah ok this:
I use Projection matrix for D3D see Matrix4x4 class, may be I'm wrong, i will check it again
is a transposed left-handed perspective projection matrix, so it's like what this one D3DXMatrixPerspectiveFovLH produces but transposed. I'm guessing you're transposing so u can also use it transposed in your shader…
So that means for a right-handed system you want to use what this one D3DXMatrixPerspectiveFovRH produces but transposed, so u want to change your code to:
Matrix[0] = yScale / aspect;
Matrix[1] = 0.0f;
Matrix[2] = 0.0f;
Matrix[3] = 0.0f;
Matrix[4] = 0.0f;
Matrix[5] = yScale;
Matrix[6] = 0.0f;
Matrix[7] = 0.0f;
Matrix[8] = 0.0f;
Matrix[9] = 0.0f;
Matrix[10] = zFar / (zNear - zFar);// new code change
Matrix[11] = -1.0f; // new code change
Matrix[12] = 0.0f;
Matrix[13] = 0.0f;
Matrix[14] = zNear * zFar / (zNear - zFar);
Matrix[15] = 0.0f;
also, depending on how your vertices were stored (or exported) you may or not need to negate their Z values. If needed you could put it in here:
Matrix[10] = -zFar .... // just add minus in front to flip z values
So this should get you past any hurdle of uncertainty. If u still have a problem then maybe we need to look at the shader code next.
Until then ?