Metodo ID3DXPRTEngine::ComputeBounceAdaptive
Calcola la luminosità di origine risultante da un singolo rimbalzo di luce riflessa, usando il campionamento adattivo. Questo metodo genera nuovi vertici e visi sulla mesh per approssimare in modo più accurato il segnale di trasferimento diradizione pre-calcolata (PRT). Questo metodo può essere usato per qualsiasi scena illuminata, incluso un modello PRT basato su armonica sferica (SH).
Sintassi
HRESULT ComputeBounceAdaptive(
[in] LPD3DXPRTBUFFER pDataIn,
[in] FLOAT AdaptiveThresh,
[in] FLOAT MinEdgeLength,
[in] UINT MaxSubdiv,
[in, out] LPD3DXPRTBUFFER pDataOut,
[in, out] LPD3DXPRTBUFFER pDataTotal
);
Parametri
-
pDataIn [in]
-
Tipo: LPD3DXPRTBUFFER
Puntatore a un oggetto ID3DXPRTBuffer di input che rappresenta l'oggetto 3D dal rimbalzo della luce precedente. Questo buffer di input deve avere il numero appropriato di canali di colore allocati per la simulazione.
-
AdaptiveThresh [in]
-
Tipo: FLOAT
Soglia per il vettore PRT da usare per suddividere vertici e visi mesh. Se minore di 1e-6f, viene specificato un valore predefinito 1e-6f.
-
MinEdgeLength [in]
-
Tipo: FLOAT
Lunghezza minima del bordo del viso che verrà generata nel campionamento adattivo. Se il metodo determina che il valore è troppo piccolo, viene specificato un valore dipendente dal modello. Se zero, viene specificato un valore predefinito pari a 4.
-
MaxSubdiv [in]
-
Tipo: UINT
Livello massimo di suddivisione di un viso che verrà usato nel campionamento adattivo.
-
pDataOut [in, out]
-
Tipo: LPD3DXPRTBUFFER
Puntatore a un oggetto ID3DXPRTBuffer di output. Questo buffer di output deve avere il numero appropriato di canali di colore allocati per la simulazione.
-
pDataTotal [in, out]
-
Tipo: LPD3DXPRTBUFFER
Puntatore a un oggetto ID3DXPRTBuffer facoltativo che mantiene una somma in esecuzione di pDataOut con ogni calcolo di rimbalzo chiaro. Può essere NULL.
Valore restituito
Tipo: HRESULT
Se il metodo ha esito positivo, il valore restituito viene D3D_OK. Se il metodo ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_INVALIDCALL, E_OUTOFMEMORY.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|
Vedi anche