Функция D3DXMatrixPerspectiveFovRH (D3DX10Math.h)
Примечание
Служебная библиотека D3DX10 устарела. Вместо этого рекомендуется использовать DirectXMath .
Строит правовинтовую матрицу перспективной проекции на основании поля зрения.
Синтаксис
D3DXMATRIX* D3DXMatrixPerspectiveFovRH(
_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. Таким образом, функцию D3DXMatrixPerspectiveFovRH можно использовать в качестве параметра для другой функции.
Эта функция вычисляет возвращаемую матрицу, как показано ниже.
xScale 0 0 0
0 yScale 0 0
0 0 zf/(zn-zf) -1
0 0 zn*zf/(zn-zf) 0
where:
yScale = cot(fovY/2)
xScale = yScale / aspect ratio
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел