Condividi tramite


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
D3DX9Mesh.h
Libreria
D3dx9.lib

Vedi anche

ID3DXPRTEngine

ID3DXPRTEngine::RobustMeshRefine