Функция 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
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел