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
D3dx9tex.h
Biblioteca
D3dx9.lib

Confira também

Funções de textura no D3DX 9