Funzione D3DXSHEvalConeLight (D3dx9math.h)

Nota

La libreria di utilità D3DX (D3DX 9, D3DX 10 e D3DX 11) è deprecata e non è supportata per le app di Windows Store.

Nota

Invece di usare questa funzione, è consigliabile usare la funzione di libreria Math XMSHEvalConeLightSpherical Armonica.

Valuta una luce che è un cono di intensità costante e restituisce dati armonica (SH) spectrali.

Sintassi

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
);

Parametri

Ordine [in]

Tipo: UINT

Ordine della valutazione SH. Deve essere compreso nell'intervallo di D3DXSH_MINORDER per D3DXSH_MAXORDER, inclusivo. La valutazione genera coefficienti Order². Il grado della valutazione è Order - 1.

pDir [in]

Tipo: const D3DXVECTOR3*

Puntatore al vettore di direzione dell'asse dell'emisfero (x, y, z) in cui valutare le funzioni di base SH. Vedere la sezione Osservazioni.

Raggio [in]

Tipo: FLOAT

Raggio di cono in radianti.

RIntensity [in]

Tipo: FLOAT

Intensità rossa della luce.

GIntensity [in]

Tipo: FLOAT

Intensità verde della luce.

BIntensity [in]

Tipo: FLOAT

Intensità blu della luce.

pROut [out]

Tipo: FLOAT*

Puntatore al vettore SH di output per il componente rosso.

pGOut [out]

Tipo: FLOAT*

Puntatore al vettore SH di output per il componente verde.

pBOut [out]

Tipo: FLOAT*

Puntatore al vettore SH di output per il componente blu.

Valore restituito

Tipo: HRESULT

Se la funzione ha esito positivo, il valore restituito è D3D_OK. Se la funzione ha esito negativo, il valore restituito può essere: D3DERR_INVALIDCALL.

Commenti

Valuta una luce che è un cono di intensità costante e restituisce dati SH spectrali. Il vettore di output viene calcolato in modo che, se il rapporto di intensità R/G/B è uguale a 1, la radiazione di uscita di un punto direttamente sotto la luce (orientata nella direzione del cono su un oggetto diffuso con un albedo di 1) sarebbe 1,0. In questo modo verranno calcolati tre esempi spectrali; pROut verrà restituito, mentre pGOut e pBOut potrebbero essere restituiti.

Sulla sfera con raggio unitario, come illustrato nella figura seguente, la direzione può essere specificata semplicemente con theta, l'angolo sull'asse z nella direzione destra e phi, l'angolo da z.

illustrazione di una sfera con raggio unitario

Le equazioni seguenti mostrano la relazione tra cartesian (x, y, z) e coordinate sferiche (theta, phi) sulla sfera unità. L'angolo dell'angolo varia rispetto all'intervallo di 0 a 2 pi, mentre phi varia da 0 a pi.

equazioni della relazione tra coordinate cartesiane e sferiche

Requisiti

Requisito Valore
Intestazione
D3dx9math.h
Libreria
D3dx9.lib

Vedi anche

Funzioni matematiche

Trasferimento Radiance precomputto (Direct3D 9)