Função D3DXFillVolumeTexture
Usa uma função fornecida pelo usuário para preencher cada texel de cada nível mip de uma determinada textura de volume.
Sintaxe
HRESULT D3DXFillVolumeTexture(
_Out_ LPDIRECT3DVOLUMETEXTURE9 pTexture,
_In_ LPD3DXFILL3D pFunction,
_In_ LPVOID pData
);
Parâmetros
-
pTexture [out]
-
Tipo: LPDIRECT3DVOLUMETEXTURE9
Ponteiro para uma interface IDirect3DVolumeTexture9 , representando a textura preenchida.
-
pFunction [in]
-
Tipo: LPD3DXFILL3D
Ponteiro para uma função de avaliador fornecida pelo usuário, que será usada para calcular o valor de cada texel. A função segue o protótipo de LPD3DXFILL3D.
-
pData [in]
-
Tipo: LPVOID
Ponteiro para um bloco arbitrário de dados definidos pelo usuário. Esse ponteiro será passado para a função fornecida em pFunction.
Valor retornado
Tipo: HRESULT
Se a função for bem-sucedida, o valor retornado será D3D_OK. Se a função falhar, o valor retornado poderá ser um dos seguintes valores: D3DERR_INVALIDCALL.
Comentários
Se o volume não for dinâmico (porque o uso é definido como 0 quando é criado) e localizado na memória de vídeo (o pool de memória definido como D3DPOOL_DEFAULT), D3DXFillVolumeTexture falhará porque o volume não pode ser bloqueado.
Este exemplo cria uma função chamada ColorVolumeFill, que se baseia em 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 | Valor |
---|---|
parâmetro |
|
Biblioteca |
|
Confira também