Funzione D3DXSHEvalSphericalLight (D3dx9math.h)

Valuta una luce sferica e restituisce i dati armonica sferica (SH) spectrali.

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 MathSferica AfericaXMSHEvalSphericalLight.

Sintassi

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

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.

pPos [in]

Tipo: const D3DXVECTOR3*

Puntatore alla posizione della luce.

Raggio [in]

Tipo: FLOAT

Raggio della fonte di luce sferica.

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 sferica e restituisce dati SH spectrali. Non c'è normalizzazione dell'intensità della luce come per le luci direzionali, quindi è necessario prestare attenzione quando si specificano le intensità. 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)