D3DXMatrixShadow 函式 (D3DX10Math.h)
注意
D3DX10 公用程式程式庫已被取代。 建議您改用 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,光線就是點燈。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱