Partager via


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
D3dx9tex.h
Bibliothèque
D3dx9.lib

Voir aussi

Fonctions de texture dans D3DX 9