Funzione D3DXSHEvalHemisphereLight (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 MathSfericaXMSHEvalHemisphereLight.
Valuta una luce che è un'interpolazione lineare tra due colori sulla sfera.
Sintassi
HRESULT D3DXSHEvalHemisphereLight(
_In_ UINT Order,
_In_ const D3DXVECTOR3 *pDir,
_In_ D3DXCOLOR Top,
_In_ D3DXCOLOR Bottom,
_In_ FLOAT *pROut,
_In_ FLOAT *pGOut,
_In_ FLOAT *pBOut
);
Parametri
-
Ordine [in]
-
Tipo: UINT
Ordine della valutazione armonica sferica (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.
-
Top [in]
-
Tipo: D3DXCOLOR
Colore del cielo.
-
Inferiore [in]
-
Tipo: D3DXCOLOR
Colore terra.
-
pROut [in]
-
Tipo: FLOAT*
Puntatore al vettore SH di output per il componente rosso.
-
pGOut [in]
-
Tipo: FLOAT*
Puntatore al vettore SH di output per il componente verde.
-
pBOut [in]
-
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
L'interpolazione viene eseguita in modo lineare tra i due punti, non sulla superficie della sfera , ovvero se l'asse era (0,0,1) è lineare in Z, non nell'angolo azimutale. La funzione di illuminazione sferica risultante è normalizzata in modo che un punto su una superficie perfettamente diffusa senza ombreggiatura e un normale puntato nella direzione pDir comporta la luminosità di uscita con un valore pari a 1 (se il colore superiore era bianco e il colore inferiore era nero). Questo è un modello molto semplice in cui Top rappresenta l'intensità del "cielo" e Bottom rappresenta l'intensità del "terreno".
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