Funzione D3DXFillVolumeTexture
Usa una funzione fornita dall'utente per riempire ogni texel di ogni livello mip di una determinata trama del volume.
Sintassi
HRESULT D3DXFillVolumeTexture(
_Out_ LPDIRECT3DVOLUMETEXTURE9 pTexture,
_In_ LPD3DXFILL3D pFunction,
_In_ LPVOID pData
);
Parametri
-
pTexture [out]
-
Tipo: LPDIRECT3DVOLUMETEXTURE9
Puntatore a un'interfaccia IDirect3DVolumeTexture9 che rappresenta la trama riempita.
-
pFunction [in]
-
Tipo: LPD3DXFILL3D
Puntatore a una funzione dell'analizzatore fornita dall'utente, che verrà usata per calcolare il valore di ogni texel. La funzione segue il prototipo di LPD3DXFILL3D.
-
pData [in]
-
Tipo: LPVOID
Puntatore a un blocco arbitrario di dati definiti dall'utente. Questo puntatore verrà passato alla funzione fornita in pFunction.
Valore restituito
Tipo: HRESULT
Se la funzione ha esito positivo, il valore restituito viene D3D_OK. Se la funzione ha esito negativo, il valore restituito può essere uno dei valori seguenti: D3DERR_INVALIDCALL.
Commenti
Se il volume non è dinamico (perché l'utilizzo è impostato su 0 al momento della creazione) e si trova nella memoria video (il pool di memoria impostato su D3DPOOL_DEFAULT), D3DXFillVolumeTexture avrà esito negativo perché il volume non può essere bloccato.
Questo esempio crea una funzione denominata ColorVolumeFill, che si basa su D3DXFillVolumeTexture.
// Define a function that matches the prototype of LPD3DXFILL3D
VOID WINAPI ColorVolumeFill (D3DXVECTOR4* pOut, const D3DXVECTOR3* pTexCoord,
const D3DXVECTOR3* pTexelSize, LPVOID pData)
{
*pOut = D3DXVECTOR4(pTexCoord->x, pTexCoord->y, pTexCoord->z, 0.0f);
}
// Fill volume texture
if (FAILED (hr = D3DXFillVolumeTexture (m_pTexture, ColorVolumeFill, NULL)))
{
return hr;
}
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|
Vedi anche