Compartir a través de


Función D3DXMatrixShadow (D3DX10Math.h)

Nota

La biblioteca de utilidades D3DX10 está en desuso. Se recomienda usar DirectXMath en su lugar.

Crea una matriz que aplana la geometría en un plano.

Sintaxis

D3DXMATRIX* D3DXMatrixShadow(
  _Inout_       D3DXMATRIX  *pOut,
  _In_    const D3DXVECTOR4 *pLight,
  _In_    const D3DXPLANE   *pPlane
);

Parámetros

pOut [in, out]

Tipo: D3DXMATRIX*

Puntero a la estructura D3DXMATRIX que es el resultado de la operación.

pLight [in]

Tipo: const D3DXVECTOR4*

Puntero a un D3DXVECTOR4 que describe la posición de la luz.

pPlane [in]

Tipo: const D3DXPLANE*

Puntero al origen D3DXPLANE.

Valor devuelto

Tipo: D3DXMATRIX*

Puntero a una estructura D3DXMATRIX que aplana la geometría en un plano.

Comentarios

La función D3DXMatrixShadow aplana la geometría en un plano, como si se emita una sombra desde una luz.

El valor devuelto de esta función es el mismo valor devuelto en el parámetro pOut. De este modo, la función D3DXMatrixShadow se puede usar como parámetro para otra función.

Esta función usa la fórmula siguiente para calcular la matriz devuelta.

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

Si el componente w de la luz es 0, el rayo del origen a la luz representa una luz direccional. Si es 1, la luz es una luz puntual.

Requisitos

Requisito Value
Encabezado
D3DX10Math.h
Biblioteca
D3DX10.lib

Consulte también

Funciones matemáticas