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


Функция D3DXMatrixPerspectiveFovLH (D3DX10Math.h)

Примечание

Служебная библиотека D3DX10 устарела. Вместо этого рекомендуется использовать DirectXMath .

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

Синтаксис

D3DXMATRIX* D3DXMatrixPerspectiveFovLH(
  _Inout_ D3DXMATRIX *pOut,
  _In_    FLOAT      fovy,
  _In_    FLOAT      Aspect,
  _In_    FLOAT      zn,
  _In_    FLOAT      zf
);

Параметры

pOut [in, out]

Тип: D3DXMATRIX*

Указатель на структуру D3DXMATRIX , которая является результатом операции.

fovy [in]

Тип: FLOAT

Поле зрения в направлении y, в радианах.

Аспект [in]

Тип: FLOAT

Пропорции, определяемые как ширина пространства представления, делимая на высоту.

zn [in]

Тип: FLOAT

Z-значение ближней плоскости просмотра.

zf [in]

Тип: FLOAT

Z-значение дальней плоскости представления.

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

Тип: D3DXMATRIX*

Указатель на структуру D3DXMATRIX, которая является левосторонней матрицей проекции.

Комментарии

Возвращаемое значение для этой функции совпадает с значением, возвращаемым в параметре pOut. Таким образом, функцию D3DXMatrixPerspectiveFovLH можно использовать в качестве параметра для другой функции.

Эта функция вычисляет возвращаемую матрицу, как показано ниже:

xScale     0          0               0
0        yScale       0               0
0          0       zf/(zf-zn)         1
0          0       -zn*zf/(zf-zn)     0
where:
yScale = cot(fovY/2)

xScale = yScale / aspect ratio

Требования

Требование Значение
Заголовок
D3DX10Math.h
Библиотека
D3DX10.lib

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

Математические функции