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.
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.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|
Vedi anche