Matrix4d.setPerspectiveOffCenterFov

Set this matrix to be an asymmetric off-center perspective projection frustum transformation for a right-handed coordinate system using the given NDC z range. <p> The given angles <code>angleLeft</code> and <code>angleRight</code> are the horizontal angles between the left and right frustum planes, respectively, and a line perpendicular to the near and far frustum planes. The angles <code>angleDown</code> and <code>angleUp</code> are the vertical angles between the bottom and top frustum planes, respectively, and a line perpendicular to the near and far frustum planes. <p> In order to apply the perspective projection transformation to an existing transformation, use {@link #perspectiveOffCenterFov(double, double, double, double, double, double, bool) perspectiveOffCenterFov()}.

@see #perspectiveOffCenterFov(double, double, double, double, double, double, bool)

@param angleLeft the horizontal angle between left frustum plane and a line perpendicular to the near/far frustum planes. For a symmetric frustum, this value is negative. @param angleRight the horizontal angle between right frustum plane and a line perpendicular to the near/far frustum planes @param angleDown the vertical angle between bottom frustum plane and a line perpendicular to the near/far frustum planes. For a symmetric frustum, this value is negative. @param angleUp the vertical angle between top frustum plane and a line perpendicular to the near/far frustum planes @param zNear near clipping plane distance. This value must be greater than zero. If the special value {@link Double#POSITIVE_INFINITY} is used, the near clipping plane will be at positive infinity. In that case, <code>zFar</code> may not also be {@link Double#POSITIVE_INFINITY}. @param zFar far clipping plane distance. This value must be greater than zero. If the special value {@link Double#POSITIVE_INFINITY} is used, the far clipping plane will be at positive infinity. In that case, <code>zNear</code> may not also be {@link Double#POSITIVE_INFINITY}. @param zZeroToOne whether to use Vulkan's and Direct3D's NDC z range of <code>[0..+1]</code> when <code>true</code> or whether to use OpenGL's NDC z range of <code>[-1..+1]</code> when <code>false</code> @return this

  1. Matrix4d setPerspectiveOffCenterFov(double angleLeft, double angleRight, double angleDown, double angleUp, double zNear, double zFar)
  2. Matrix4d setPerspectiveOffCenterFov(double angleLeft, double angleRight, double angleDown, double angleUp, double zNear, double zFar, bool zZeroToOne)
    struct Matrix4d
    ref public return
    setPerspectiveOffCenterFov
    (
    double angleLeft
    ,
    double angleRight
    ,
    double angleDown
    ,
    double angleUp
    ,
    double zNear
    ,
    double zFar
    ,)

Meta