Metodo ID3DXPRTEngine::ComputeDirectLightingSHGPU
Usa la GPU per calcolare il contributo diretto dell'illuminazione agli oggetti 3D in cui la radiazione di origine è rappresentata da un'approssimazione armonica sferica (SH). Il calcolo dell'illuminazione sulla GPU sarà in genere molto più veloce rispetto alla CPU.
Sintassi
HRESULT ComputeDirectLightingSHGPU(
[in] LPDIRECT3DDEVICE9 pDevice,
[in] UINT Flags,
[in] UINT Order,
[in] FLOAT ZBias,
[in] FLOAT ZAngleBias,
[in, out] LPD3DXPRTBUFFER pDataOut
);
Parametri
-
pDevice [in]
-
Tipo: LPDIRECT3DDEVICE9
Puntatore all'oggetto dispositivo IDirect3DDevice9 usato per eseguire la simulazione nella GPU. Il dispositivo deve supportare ps_2_0 pixel shader.
Nota
Le funzioni di callback non devono usare l'oggetto dispositivo IDirect3DDevice9 usato dal simulatore GPU.
-
Flag [in]
-
Tipo: UINT
Parametro di simulazione GPU che definisce la risoluzione del buffer z shadow. Deve essere impostato su uno dei valori costanti da D3DXSHGPUSIMOPT. Per specificare una simulazione di precisione superiore, il valore D3DXSHGPUSIMOPT_HIGHQUALITY può essere combinato con uno dei valori D3DXSHGPUSIMOPT_SHADOWRESxxx.
-
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.
-
ZBias [in]
-
Tipo: FLOAT
Distorsione nella direzione normale.
-
ZAngleBias [in]
-
Tipo: FLOAT
Pregiudizio nella direzione normale, ridimensionato da uno meno il cosno dell'angolo con il raggio chiaro.
-
pDataOut [in, out]
-
Tipo: LPD3DXPRTBUFFER
Puntatore a un oggetto ID3DXPRTBuffer . 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
In questo metodo, l'albedo non viene moltiplicato per il segnale di luce e solo la luce in ingresso è integrata nel simulatore. Non moltiplicando l'albedo, è possibile modellare la variazione albedo a una scala più fine rispetto alla radiazione di origine, ottenendo così risultati più accurati dalla compressione.
Chiamare MultipliAlbedo per moltiplicare ogni vettore di radianza precompilate (PRT) dall'albedo.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|
Vedi anche