Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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