D3DXFillVolumeTexture, fonction
Utilise une fonction fournie par l’utilisateur pour remplir chaque texel de chaque niveau mip d’une texture de volume donnée.
Syntaxe
HRESULT D3DXFillVolumeTexture(
_Out_ LPDIRECT3DVOLUMETEXTURE9 pTexture,
_In_ LPD3DXFILL3D pFunction,
_In_ LPVOID pData
);
Paramètres
-
pTexture [out]
-
Type : LPDIRECT3DVOLUMETEXTURE9
Pointeur vers une interface IDirect3DVolumeTexture9 , représentant la texture remplie.
-
pFunction [in]
-
Type : LPD3DXFILL3D
Pointeur vers une fonction d’évaluateur fournie par l’utilisateur, qui sera utilisée pour calculer la valeur de chaque texel. La fonction suit le prototype de LPD3DXFILL3D.
-
pData [in]
-
Type : LPVOID
Pointeur vers un bloc arbitraire de données définies par l’utilisateur. Ce pointeur est passé à la fonction fournie dans pFunction.
Valeur retournée
Type : HRESULT
Si la fonction réussit, la valeur de retour est D3D_OK. Si la fonction échoue, la valeur de retour peut être l’une des valeurs suivantes : D3DERR_INVALIDCALL.
Notes
Si le volume n’est pas dynamique (car l’utilisation est définie sur 0 lors de sa création) et qu’il se trouve dans la mémoire vidéo (le pool de mémoire est défini sur D3DPOOL_DEFAULT), D3DXFillVolumeTexture échoue, car le volume ne peut pas être verrouillé.
Cet exemple crée une fonction appelée ColorVolumeFill, qui s’appuie sur 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;
}
Spécifications
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|
Voir aussi