Função D3DXMatrixShadow (D3dx9math.h)
Observação
A biblioteca do utilitário D3DX foi preterida. Em vez disso, recomendamos que você use DirectXMath .
Cria uma matriz que nivela a geometria em um plano.
Sintaxe
D3DXMATRIX* D3DXMatrixShadow(
_Inout_ D3DXMATRIX *pOut,
_In_ const D3DXVECTOR4 *pLight,
_In_ const D3DXPLANE *pPlane
);
Parâmetros
-
pOut [in, out]
-
Tipo: D3DXMATRIX*
Ponteiro para a estrutura D3DXMATRIX que é o resultado da operação.
-
pLight [in]
-
Tipo: const D3DXVECTOR4*
Ponteiro para uma estrutura D3DXVECTOR4 que descreve a posição da luz.
-
pPlane [in]
-
Tipo: const D3DXPLANE*
Ponteiro para a estrutura D3DXPLANE de origem.
Valor retornado
Tipo: D3DXMATRIX*
Ponteiro para uma estrutura D3DXMATRIX que nivela a geometria em um plano.
Comentários
A função D3DXMatrixShadow nivela a geometria em um plano, como se estivesse lançando uma sombra de uma luz.
O valor retornado para essa função é o mesmo valor retornado no parâmetro pOut . Dessa forma, a função D3DXMatrixShadow pode ser usada como um parâmetro para outra função.
Essa função usa a fórmula a seguir para calcular a matriz retornada.
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
Se o componente w da luz for 0, o raio da origem para a luz representará uma luz direcional. Se for 1, a luz é uma luz de ponto.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|
Confira também