Función D3DXFillVolumeTexture
Usa una función proporcionada por el usuario para rellenar cada elemento de textura de cada elemento mip de una textura de volumen determinada.
Sintaxis
HRESULT D3DXFillVolumeTexture(
_Out_ LPDIRECT3DVOLUMETEXTURE9 pTexture,
_In_ LPD3DXFILL3D pFunction,
_In_ LPVOID pData
);
Parámetros
-
pTexture [out]
-
Tipo: LPDIRECT3DVOLUMETEXTURE9
Puntero a una interfaz IDirect3DVolumeTexture9 , que representa la textura rellena.
-
pFunction [in]
-
Tipo: LPD3DXFILL3D
Puntero a una función de evaluador proporcionada por el usuario, que se usará para calcular el valor de cada elemento de textura. La función sigue el prototipo de LPD3DXFILL3D.
-
pData [in]
-
Tipo: LPVOID
Puntero a un bloque arbitrario de datos definidos por el usuario. Este puntero se pasará a la función proporcionada en pFunction.
Valor devuelto
Tipo: HRESULT
Si la función se realiza correctamente, el valor devuelto se D3D_OK. Si se produce un error en la función, el valor devuelto puede ser uno de los siguientes valores: D3DERR_INVALIDCALL.
Comentarios
Si el volumen no es dinámico (porque el uso se establece en 0 cuando se crea) y se encuentra en la memoria de vídeo (el grupo de memoria establecido en D3DPOOL_DEFAULT), se producirá un error en D3DXFillVolumeTexture porque el volumen no se puede bloquear.
En este ejemplo se crea una función denominada ColorVolumeFill, que se basa en 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;
}
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|
Consulte también