次の方法で共有


D3DXMatrixShadow 関数

D3DXMatrixShadow 関数

ジオメトリを平面に射影する行列を作成する。

構文

D3DXMATRIX *D3DXMatrixShadow(      
    D3DXMATRIX *pOut,
    CONST D3DXVECTOR4 *pLight,
    CONST D3DXPLANE *pPlane
);

パラメータ

  • pOut
    [in, out] 演算結果である D3DXMATRIX 構造体へのポインタ。
  • pLight
    [in] ライトの位置を記述した D3DXVECTOR4 構造体へのポインタ。
  • pPlane
    [in] 処理の基になる 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 の場合、原点からのディレクショナル ライトを表す。1 の場合、ライトはポイント ライトである。

関数の情報

ヘッダー d3dx9math.h
インポート ライブラリ d3dx9.lib
最低限のオペレーティング システム Windows 98