D3DXMatrixPerspectiveFovRH 函式 (D3dx9math.h)
注意
D3DX 公用程式程式庫已被取代。 建議您改用 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 函式就可以當做另一個函式的參數使用。
若要變更外觀比例座標軸,請使用計算公式:fovy = 2 * math.atan (math.tan (fovy * 0.5) / 外觀) 。 或者,在結構中新增 X 和 Y 外觀比例變數來調整垂直檢視空間:fovy = 2 * math.atan (math.tan (fovy * 0.5) / aspectY) , aspect = aspectX * aspect Y。
此函式會計算傳回的矩陣,如下所示。
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
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱