次の方法で共有


D3DXMatrixLookAtRH 関数 (D3dx9math.h)

Note

D3DX ユーティリティ ライブラリは非推奨です。 代わりに DirectXMath を使用することをお勧めします。

右利きのルックアット マトリックスを作成します。

構文

D3DXMATRIX* D3DXMatrixLookAtRH(
  _Inout_       D3DXMATRIX  *pOut,
  _In_    const D3DXVECTOR3 *pEye,
  _In_    const D3DXVECTOR3 *pAt,
  _In_    const D3DXVECTOR3 *pUp
);

パラメーター

pOut [in, out]

種類: D3DXMATRIX*

操作の結果である D3DXMATRIX 構造体へのポインター。

pEye [in]

型: const D3DXVECTOR3*

目のポイントを定義する D3DXVECTOR3 構造体へのポインター。 この値は変換で使用されます。

pAt [in]

型: const D3DXVECTOR3*

カメラのルックアット ターゲットを定義する D3DXVECTOR3 構造体へのポインター。

pUp [in]

型: const D3DXVECTOR3*

現在のワールドアップを定義する D3DXVECTOR3 構造体へのポインター (通常は [0, 1, 0])。

戻り値

種類: D3DXMATRIX*

右利きのルックアット マトリックスである D3DXMATRIX 構造体へのポインター。

解説

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

この関数は、次の数式を使用して、返される行列を計算します。

zaxis = normal(Eye - At)
xaxis = normal(cross(Up, zaxis))
yaxis = cross(zaxis, xaxis)

 xaxis.x            yaxis.x            zaxis.x           0
 xaxis.y            yaxis.y            zaxis.y           0
 xaxis.z            yaxis.z            zaxis.z           0
 -dot(xaxis, eye)   -dot(yaxis, eye)   -dot(zaxis, eye)  1

要件

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

関連項目

数値演算関数

D3DXMatrixLookAtLH