Condividi tramite


Metodo ID3DXPRTEngine::ComputeVolumeSamples

Calcola una proiezione dell'illuminazione diretta dal rimbalzo di luce precedente in vettori di base armonica (SH) sferici che rappresentano la radiazione degli eventi imprevisti in posizioni specificate.

Sintassi

HRESULT ComputeVolumeSamples(
  [in]            LPD3DXPRTBUFFER pSurfDataIn,
  [in]            UINT            Order,
  [in]            UINT            NumVolSamples.xml,
  [in]      const D3DXVECTOR3     *pSampleLocs,
  [in, out]       LPD3DXPRTBUFFER pDataOut
);

Parametri

pSurfDataIn [in]

Tipo: LPD3DXPRTBUFFER

Puntatore a un oggetto ID3DXPRTBuffer di input che rappresenta l'oggetto 3D dal rimbalzo di luce precedente.

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.

NumVolSamples.xml [in]

Tipo: UINT

Numero di posizioni di esempio.

pSampleLocs [in]

Tipo: const D3DXVECTOR3*

Posizione per ogni esempio. Se pSampleLocs è NULL, ComputeVolumeSamples calcola matrici di trasferimento in ogni vertice mesh. Tuttavia, se pSampleLocs non è NULL, è necessario eseguire un esempio su una sfera (impostare UseSphere = TRUE e UseCosine = FALSE in ID3DXPRTEngine::SetSamplingInfo); in caso contrario, ComputeVolumeSamples restituirà D3DERR_INVALIDCALL.

pDataOut [in, out]

Tipo: LPD3DXPRTBUFFER

Puntatore a un oggetto ID3DXPRTBuffer di output che proietta l'illuminazione diretta dai vettori di base SH. Questo buffer deve avere il numero appropriato di canali di colore allocati per la simulazione.

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 il modo in cui la luce della funzione diradianza di origine viene riflessa fuori dalla superficie che rappresenta la scena (pSurfDataIn) e arriva a 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.

Requisiti

Requisito Valore
Intestazione
D3DX9Mesh.h
Libreria
D3dx9.lib

Vedi anche

ID3DXPRTEngine

ID3DXPRTEngine::ComputeVolumeSamplesDirectSH