Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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