Metodo ID3DXPRTEngine::ComputeVolumeSamplesDirectSH
Calcola una proiezione di illuminazione distante in vettori di base armonica (SH) sferici che rappresentano la radiazione degli eventi imprevisti in posizioni specificate.
Sintassi
HRESULT ComputeVolumeSamplesDirectSH(
[in] UINT OrderIn,
[in] UINT OrderOut,
[in] UINT NumVolSamples.xml,
[in] const D3DXVECTOR3 *pSampleLocs,
[in, out] LPD3DXPRTBUFFER pDataOut
);
Parametri
-
OrderIn [in]
-
Tipo: UINT
Ordine della rappresentazione SH dell'illuminazione distante. Deve essere compreso nell'intervallo di D3DXSH_MINORDER per D3DXSH_MAXORDER, inclusivo. Il grado della valutazione è OrderIn - 1.
-
OrderOut [in]
-
Tipo: UINT
Ordine della rappresentazione SH dell'illuminazione locale. Deve essere compreso nell'intervallo di D3DXSH_MINORDER per D3DXSH_MAXORDER, inclusivo. Il grado della valutazione è OrderOut - 1.
-
NumVolSamples.xml [in]
-
Tipo: UINT
Numero di posizioni di esempio.
-
pSampleLocs [in]
-
Tipo: const D3DXVECTOR3*
Posizione per ogni esempio.
-
pDataOut [in, out]
-
Tipo: LPD3DXPRTBUFFER
Puntatore a un oggetto ID3DXPRTBuffer di output che proietta l'illuminazione distante in vettori di base SH. Questo buffer deve avere il numero appropriato di canali di colore allocati per la simulazione. Questo metodo genera OrderIn² * OrderOut"² scalari per canale in ogni posizione di esempio.
Valore restituito
Tipo: HRESULT
Se il metodo ha esito positivo, il valore restituito è D3D_OK. Se il metodo ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_INVALIDCALL, E_OUTOFMEMORY.
Commenti
Questo metodo calcola la modalità di arrivo della luce da una fonte distante in ogni punto nello spazio specificato da pSampleLocs. I coefficienti SH rappresentano il mapping, a ogni punto pSampleLocs, della radianza di origine per trasferire la radianza degli eventi imprevisti.
Per usare correttamente questo metodo, è necessario impostare il campionamento su una sfera con UseSphere = TRUE e UseCosine = FALSE in ID3DXPRTEngine::SetSamplingInfo; in caso contrario, questo metodo restituirà un errore con D3DERR_INVALIDCALL.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|
Vedi anche