public static void CreatePerspectiveFieldOfViewLH(float fieldOfView, float aspectRatio, float nearClip, float farClip, out Matrix perspective) { float h = 1f / ((float)Math.Tan(fieldOfView * 0.5f)); float w = h / aspectRatio; float m33 = farClip / (farClip - nearClip); perspective.X = new Vector4(w, 0, 0, 0); perspective.Y = new Vector4(0, h, 0, 0); perspective.Z = new Vector4(0, 0, m33, 1); perspective.W = new Vector4(0, 0, -nearClip * m33, 0); }