D3DXMatrixPerspectiveFovLH 関数 (D3dx9math.h)

注意

D3DX ユーティリティ ライブラリは非推奨です。 代わりに 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 方向の視野 (ラジアン単位)。

Aspect [in]

型: FLOAT

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

zn [in]

型: FLOAT

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

zf [in]

型: FLOAT

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

戻り値

種類: D3DXMATRIX*

左利きの遠近投影行列である D3DXMATRIX 構造体へのポインター。

解説

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

縦横比軸を変更するには、計算数式 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/(zf-zn)         1
0          0       -zn*zf/(zf-zn)     0
where:
yScale = cot(fovY/2)

xScale = yScale / aspect ratio

必要条件

要件
ヘッダー
D3dx9math.h
ライブラリ
D3dx9.lib

関連項目

数値演算関数

D3DXMatrixPerspectiveRH

D3DXMatrixPerspectiveLH

D3DXMatrixPerspectiveFovRH

D3DXMatrixPerspectiveOffCenterRH

D3DXMatrixPerspectiveOffCenterLH