Función D3DXSHEvalSphericalLight (D3dx9math.h)
Evalúa una luz esférica y devuelve datos esféricos armónicos espectrales (SH).
Nota
La biblioteca de utilidades D3DX (D3DX 9, D3DX 10 y D3DX 11) está en desuso y no es compatible con las aplicaciones de la Tienda Windows.
Nota
En lugar de usar esta función, se recomienda usar la función de biblioteca matemática armónica esféricaXMSHEvalSphericalLight.
Sintaxis
HRESULT D3DXSHEvalSphericalLight(
_In_ UINT Order,
_In_ const D3DXVECTOR3 *pPos,
_In_ FLOAT Radius,
_In_ FLOAT RIntensity,
_In_ FLOAT GIntensity,
_In_ FLOAT BIntensity,
_Out_ FLOAT *pROut,
_Out_ FLOAT *pGOut,
_Out_ FLOAT *pBOut
);
Parámetros
-
Orden [in]
-
Tipo: UINT
Orden de evaluación de SH. Debe estar en el intervalo de D3DXSH_MINORDER para D3DXSH_MAXORDER, ambos incluidos. La evaluación genera coeficientes Order². El grado de evaluación es Order - 1.
-
pPos [in]
-
Tipo: const D3DXVECTOR3*
Puntero a la posición de la luz.
-
Radius [in]
-
Tipo: FLOAT
Radio de fuente de luz esférica.
-
RIntensity [in]
-
Tipo: FLOAT
Intensidad roja de la luz.
-
GIntensity [in]
-
Tipo: FLOAT
Intensidad verde de la luz.
-
BIntensity [in]
-
Tipo: FLOAT
Intensidad azul de la luz.
-
pROut [out]
-
Tipo: FLOAT*
Puntero al vector SH de salida para el componente rojo.
-
pGOut [out]
-
Tipo: FLOAT*
Puntero al vector SH de salida del componente verde.
-
pBOut [out]
-
Tipo: FLOAT*
Puntero al vector SH de salida para el componente azul.
Valor devuelto
Tipo: HRESULT
Si la función se ejecuta correctamente, el valor devuelto es D3D_OK. Si se produce un error en la función, el valor devuelto puede ser: D3DERR_INVALIDCALL.
Comentarios
Evalúa una luz esférica y devuelve datos sh espectrales. No hay normalización de la intensidad de la luz como la de las luces direccionales, por lo que se debe tener cuidado al especificar las intensidades. Esto calculará tres muestras espectrales; Se devolverá pROut , mientras que pGOut y pBOut se pueden devolver.
En la esfera con radio de unidad, como se muestra en la ilustración siguiente, la dirección se puede especificar simplemente con theta, el ángulo sobre el eje z en la dirección derecha y phi, el ángulo de z.
Las ecuaciones siguientes muestran la relación entre las coordenadas cartesianas (x, y, z) y esféricas (theta, phi) en la esfera de unidad. El ángulo theta varía en el intervalo de 0 a 2 pi, mientras que phi varía de 0 a pi.
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|
Consulte también