D3DXMatrixShadow
ジオメトリを平面に射影する行列を作成します。
D3DXMATRIX *
D3DXMatrixShadow(
D3DXMATRIX * pOut,
CONST D3DXVECTOR4 * pLight,
CONST D3DXPLANE * pPlane
);
パラメータ
- pOut
処理の結果を表す D3DXMATRIX 構造体へのポインター - pLight
ライトの位置を記述する D3DXVECTOR4 構造体へのポインターです。 - pPlane
演算対象の D3DXPLANE 構造体へのポインターです。
戻り値
ジオメトリを平面に射影する D3DXMATRIX 構造体へのポインターを返します。
解説
D3DXMatrixShadow 関数は、ライトから影を射影するように、ジオメトリを平面に射影します。
この関数の戻り値は、pOut パラメーターに返される値と同じです。このため、D3DXMatrixShadow 関数は他の関数のパラメーターとして使用できます。
この関数は、以下の公式を使用し、返す行列を計算します。
P = normalize(Plane); L = Light; d = dot(P, L) P.a * L.x + d P.a * L.y P.a * L.z P.a * L.w P.b * L.x P.b * L.y + d P.b * L.z P.b * L.w P.c * L.x P.c * L.y P.c * L.z + d P.c * L.w P.d * L.x P.d * L.y P.d * L.z P.d * L.w + d
ライトの w 要素が 0 の場合、原点からライトまでの光線はディレクショナル ライトを表します。ライトの w 要素が 1 の場合、ライトはポイント ライトです。
要件
ヘッダー: D3dx9math.h 宣言
ライブラリ: D3dx9.lib 内容