Share via


D3DXMatrixShadow 函式 (D3dx9math.h)

注意

D3DX 公用程式程式庫已被取代。 建議您改用 DirectXMath

建置矩陣,將幾何壓平合併成平面。

語法

D3DXMATRIX* D3DXMatrixShadow(
  _Inout_       D3DXMATRIX  *pOut,
  _In_    const D3DXVECTOR4 *pLight,
  _In_    const D3DXPLANE   *pPlane
);

參數

pOut [in, out]

類型: D3DXMATRIX*

D3DXMATRIX結構的指標,這是作業的結果。

pLight [in]

類型:const D3DXVECTOR4*

描述光線位置的 D3DXVECTOR4 結構的指標。

pPlane [in]

類型:const D3DXPLANE*

來源 D3DXPLANE 結構的指標。

傳回值

類型: D3DXMATRIX*

將幾何扁平化成平面之 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

另請參閱

數學函式