Funzione D3DXSHEvalDirectionalLight (D3DX10.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 matematica Armoniche SphericalXMSHEvalDirectionalLight.

Valuta una luce direzionale e restituisce dati armonici armonici spettrali (SH).

Sintassi

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

Parametri

Ordine [in]

Tipo: UINT

Ordine della valutazione SH. Deve essere compreso nell'intervallo di D3DXSH_MINORDER da D3DXSH_MAXORDER inclusi. 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.

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 [in]

Tipo: FLOAT*

Puntatore al vettore SH di output per il componente rosso.

pGOut [in]

Tipo: FLOAT*

Puntatore facoltativo al vettore SH di output per il componente verde.

pBOut [in]

Tipo: FLOAT*

Puntatore facoltativo al vettore SH di output per il componente blu.

Valore restituito

Tipo: HRESULT

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

Commenti

Il vettore di output viene calcolato in modo che se il rapporto di intensità R/G/B è uguale a 1, la luminosità di uscita risultante di un punto direttamente sotto la luce su un oggetto diffuso con un albedo pari a 1,0. Verranno calcolati tre campioni spettrali; Verrà restituito pROut, 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 circa l'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 le coordinate cartesiane (x, y, z) e sferiche (theta, phi) sulla sfera dell'unità. L'angolo della theta varia nell'intervallo da 0 a 2 pi, mentre phi varia da 0 a pi.

equazioni della relazione tra coordinate cartesiane e sferiche

Requisiti

Requisito Valore
Intestazione
D3DX10.h
Libreria
D3DX10.lib

Vedi anche

Funzioni matematiche