Función D3DXSHEvalConeLight (D3dx9math.h)

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éricaXMSHEvalConeLight.

Evalúa una luz que es un cono de intensidad constante y devuelve datos esféricos armónicos espectrales (SH).

Sintaxis

HRESULT D3DXSHEvalConeLight(
  _In_        UINT        Order,
  _In_  const D3DXVECTOR3 *pDir,
  _In_        FLOAT       Radius,
  _In_        FLOAT       RIntensity,
  _In_        FLOAT       GIntensity,
  _In_        FLOAT       BIntensity,
  _Out_       FLOAT       *pROut,
  _Out_       FLOAT       *pGOut,
  _Out_       FLOAT       *pBOut
);

Parámetros

Order [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.

pDir [in]

Tipo: const D3DXVECTOR3*

Puntero al vector de dirección del eje del hemisferio (x, y, z) en el que se evalúan las funciones base sh. Vea la sección Comentarios.

Radius [in]

Tipo: FLOAT

Radio de cono en radianes.

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 del 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 del componente azul.

Valor devuelto

Tipo: HRESULT

Si la función se realiza correctamente, el valor devuelto se D3D_OK. Si se produce un error en la función, el valor devuelto puede ser: D3DERR_INVALIDCALL.

Comentarios

Evalúa una luz que es un cono de intensidad constante y devuelve datos sh espectrales. El vector de salida se calcula de modo que si la relación de intensidad R/G/B es igual a 1, la radiación de salida de un punto directamente bajo la luz (orientada en la dirección del cono en un objeto difuso con un albedo de 1) sería 1,0. 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.

ilustración de una esfera con radio de unidad

Las ecuaciones siguientes muestran la relación entre 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.

ecuaciones de la relación entre coordenadas cartesianas y esféricas

Requisitos

Requisito Value
Encabezado
D3dx9math.h
Biblioteca
D3dx9.lib

Consulte también

Funciones matemáticas

Transferencia radiance precalada (Direct3D 9)