XMMatrixPerspectiveOffCenterLH function (directxmath.h)

Builds a custom version of a left-handed perspective projection matrix.

Syntax

XMMATRIX XM_CALLCONV XMMatrixPerspectiveOffCenterLH(
  [in] float ViewLeft,
  [in] float ViewRight,
  [in] float ViewBottom,
  [in] float ViewTop,
  [in] float NearZ,
  [in] float FarZ
) noexcept;

Parameters

[in] ViewLeft

The x-coordinate of the left side of the clipping frustum at the near clipping plane.

[in] ViewRight

The x-coordinate of the right side of the clipping frustum at the near clipping plane.

[in] ViewBottom

The y-coordinate of the bottom side of the clipping frustum at the near clipping plane.

[in] ViewTop

The y-coordinate of the top side of the clipping frustum at the near clipping plane.

[in] NearZ

Distance to the near clipping plane. Must be greater than zero.

[in] FarZ

Distance to the far clipping plane. Must be greater than zero.

Return value

Returns the custom perspective projection matrix.

Remarks

For typical usage, NearZ is less than FarZ. However, if you flip these values so FarZ is less than NearZ, the result is an inverted z buffer (also known as a "reverse z buffer") which can provide increased floating-point precision.

NearZ and FarZ cannot be the same value and must be greater than 0.

Platform Requirements

Microsoft Visual Studio 2010 or Microsoft Visual Studio 2012 with the Windows SDK for Windows 8. Supported for Win32 desktop apps, Windows Store apps, and Windows Phone 8 apps.

Requirements

Requirement Value
Target Platform Windows
Header directxmath.h

See also

DirectXMath Library Matrix Functions

XMMatrixPerspectiveOffCenterRH