857    {
  858        if (fieldOfView <= 0f || fieldOfView >= (
float)
Math.
PI)
 
  859        {
  861        }
  862        if (nearPlaneDistance <= 0f)
  863        {
  865        }
  866        if (farPlaneDistance <= 0f)
  867        {
  869        }
  870        if (nearPlaneDistance >= farPlaneDistance)
  871        {
  873        }
  874        float num = 1f / (float)
Math.
Tan(fieldOfView * 0.5f);
 
  875        float m = num / aspectRatio;
  877        result.M11 = m;
  878        result.M12 = (result.M13 = (result.M14 = 0f));
  879        result.M22 = num;
  880        result.M21 = (result.M23 = (result.M24 = 0f));
  881        result.M31 = (result.M32 = 0f);
  882        result.M33 = farPlaneDistance / (nearPlaneDistance - farPlaneDistance);
  883        result.M34 = -1f;
  884        result.M41 = (result.M42 = (result.M44 = 0f));
  885        result.M43 = nearPlaneDistance * farPlaneDistance / (nearPlaneDistance - farPlaneDistance);
  886        return result;
  887    }
static CultureInfo CurrentCulture
 
static double Tan(double a)
 
Matrix(float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, float m31, float m32, float m33, float m34, float m41, float m42, float m43, float m44)