Поделиться через


Функция XMMatrixPerspectiveFovLH (directxmath.h)

Строит левовинтовую матрицу перспективной проекции на основании поля зрения.

Синтаксис

XMMATRIX XM_CALLCONV XMMatrixPerspectiveFovLH(
  [in] float FovAngleY,
  [in] float AspectRatio,
  [in] float NearZ,
  [in] float FarZ
) noexcept;

Параметры

[in] FovAngleY

Угол зрения сверху вниз в радианах.

[in] AspectRatio

Пропорции пространства представления X:Y.

[in] NearZ

Расстояние до ближайшей плоскости отсечения. Должен быть больше нуля.

[in] FarZ

Расстояние до дальней плоскости отсечения. Должен быть больше нуля.

Возвращаемое значение

Возвращает матрицу проекции перспективы.

Комментарии

Для типичного использования NearZ меньше, чем FarZ. Однако если перевернуть эти значения так, чтобы значение FarZ было меньше NearZ, результатом будет инвертирован буфер z (также известный как "буфер обратной z"), который может обеспечить повышенную точность с плавающей запятой.

Значения NearZ и FarZ не могут совпадать и должны быть больше 0.

Ось По умолчанию AspectRatio является горизонтальной, но пересчет FovAngleY с AspectRatio управляет направлением масштабирования представления: 2,0 * atan(tan(FovAngleY * 0,5) / AspectRatio).

Требования к платформе

Microsoft Visual Studio 2010 или Microsoft Visual Studio 2012 с windows SDK для Windows 8. Поддерживается для классических приложений Win32, приложений Магазина Windows и приложений Windows Phone 8.

Требования

Требование Значение
Целевая платформа Windows
Header directxmath.h

См. также раздел

Функции матрицы библиотеки DirectXMath

XMMatrixPerspectiveFovRH