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 方向の視野 (ラジアン単位)。

Aspect [in]

型: FLOAT

縦横比。ビュースペースの幅を高さで割った値として定義されます。

zn [in]

型: FLOAT

近くのビュープレーンの Z 値。

zf [in]

型: FLOAT

遠方ビュープレーンの Z 値。

戻り値

種類: D3DXMATRIX*

右利きの透視投影行列である D3DXMATRIX 構造体へのポインター。

注釈

この関数の戻り値は、 pOut パラメーターで返される値と同じです。 このようにして、 D3DXMatrixPerspectiveFovRH 関数を別の関数のパラメーターとして使用できます。

縦横比軸を変更するには、計算数式 fovy = 2 * math.atan(math.tan(fovy * 0.5) / aspect) を使用します。 または、構造に X と Y の縦横比変数を追加して、垂直ビュー空間をスケーリングします。fovy = 2 * math.atan(math.tan(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