共用方式為


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

規格需求

需求
標頭
D3dx9math.h
程式庫
D3dx9.lib

另請參閱

數學函式

D3DXMatrixPerspectiveRH

D3DXMatrixPerspectiveLH

D3DXMatrixPerspectiveFovLH

D3DXMatrixPerspectiveOffCenterRH

D3DXMatrixPerspectiveOffCenterLH