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,则为点光。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
另请参阅