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

另请参阅

数学函数