D3DXMatrixShadow 函数
创建一个平面的阴影矩阵。
定义:
D3DXMATRIX *WINAPI 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,表示从原点发出的方向光。如果W分量是1,表示它是一个点光源。
函数信息:
Header | d3dx9math.h |
Import library | d3dx9.lib |
Minimum operating systems | Windows 98 |