次の方法で共有


D3DXMatrixLookAtRH 関数 (D3DX10Math.h)

Note

D3DX10 ユーティリティ ライブラリは非推奨です。 代わりに 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

必要条件

要件
ヘッダー
D3DX10Math.h
ライブラリ
D3DX10.lib

関連項目

数値演算関数