Compartilhar via


Função D3DXCreateVolumeTextureFromFileEx

Cria uma textura de volume de um arquivo.

Sintaxe

HRESULT D3DXCreateVolumeTextureFromFileEx(
  _In_    LPDIRECT3DDEVICE9        pDevice,
  _In_    LPCTSTR                  pSrcFile,
  _In_    UINT                     Width,
  _In_    UINT                     Height,
  _In_    UINT                     Depth,
  _In_    UINT                     MipLevels,
  _In_    DWORD                    Usage,
          D3DFORMAT                Format,
  _In_    D3DPOOL                  Pool,
  _In_    DWORD                    Filter,
  _In_    DWORD                    MipFilter,
  _In_    D3DCOLOR                 ColorKey,
  _Inout_ D3DXIMAGE_INFO           *pSrcInfo,
  _Out_   PALETTEENTRY             *pPalette,
  _Out_   LPDIRECT3DVOLUMETEXTURE9 *ppTexture
);

Parâmetros

pDevice [in]

Tipo: LPDIRECT3DDEVICE9

Ponteiro para uma interface IDirect3DDevice9 , representando o dispositivo a ser associado à textura.

pSrcFile [in]

Tipo: LPCTSTR

Ponteiro para uma cadeia de caracteres que especifica o nome do arquivo. Se as configurações do compilador exigirem Unicode, o tipo de dados LPCTSTR será resolvido para LPCWSTR. Caso contrário, o tipo de dados de cadeia de caracteres é resolvido para LPCSTR. Consulte Observações.

Largura [in]

Tipo: UINT

Largura em pixels. Se esse valor for zero ou D3DX_DEFAULT, as dimensões serão tiradas do arquivo. A dimensão máxima compatível com um driver (para largura, altura e profundidade) pode ser encontrada em MaxVolumeExtent em D3DCAPS9.

Altura [in]

Tipo: UINT

Altura, em pixels. Se esse valor for zero ou D3DX_DEFAULT, as dimensões serão tiradas do arquivo. A dimensão máxima compatível com um driver (para largura, altura e profundidade) pode ser encontrada em MaxVolumeExtent em D3DCAPS9.

Profundidade [in]

Tipo: UINT

Profundidade, em pixels. Se esse valor for zero ou D3DX_DEFAULT, as dimensões serão tiradas do arquivo. A dimensão máxima compatível com um driver (para largura, altura e profundidade) pode ser encontrada em MaxVolumeExtent em D3DCAPS9.

MipLevels [in]

Tipo: UINT

Número de níveis de mip solicitados. Se esse valor for zero ou D3DX_DEFAULT, uma cadeia de mipmap completa será criada.

Uso [in]

Tipo: DWORD

0, D3DUSAGE_RENDERTARGET ou D3DUSAGE_DYNAMIC. Definir esse sinalizador como D3DUSAGE_RENDERTARGET indica que a superfície deve ser usada como um destino de renderização. Em seguida, o recurso pode ser passado para o parâmetro pNewRenderTarget do método SetRenderTarget . Se D3DUSAGE_RENDERTARGET ou D3DUSAGE_DYNAMIC for especificado, o Pool deverá ser definido como D3DPOOL_DEFAULT e o aplicativo deverá marcar que o dispositivo dê suporte a essa operação chamando CheckDeviceFormat. D3DUSAGE_DYNAMIC indica que a superfície deve ser tratada dinamicamente. Para obter mais informações sobre como usar texturas dinâmicas, consulte Usando texturas dinâmicas.

Formato

Tipo: D3DFORMAT

Membro do tipo enumerado D3DFORMAT , descrevendo o formato de pixel solicitado para a textura. A textura retornada pode ter um formato diferente daquele especificado por Format. Os aplicativos devem marcar o formato da textura retornada. Se D3DFMT_UNKNOWN, o formato será retirado do arquivo. Se D3DFMT_FROM_FILE, o formato será obtido exatamente como está no arquivo e a chamada falhará se isso violar os recursos do dispositivo.

Pool [in]

Tipo: D3DPOOL

Membro do tipo enumerado D3DPOOL , descrevendo a classe de memória na qual a textura deve ser colocada.

Filtrar [in]

Tipo: DWORD

Uma combinação de um ou mais D3DX_FILTER controlar como a imagem é filtrada. Especificar D3DX_DEFAULT para esse parâmetro é o equivalente a especificar D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER.

MipFilter [in]

Tipo: DWORD

Uma combinação de um ou mais D3DX_FILTER controlar como a imagem é filtrada. Especificar D3DX_DEFAULT para esse parâmetro é o equivalente à especificação de D3DX_FILTER_BOX. Além disso, use os bits 27-31 para especificar o número de níveis de mip a serem ignorados (da parte superior da cadeia de mipmap) quando uma textura .dds é carregada na memória; isso permite que você pule até 32 níveis.

ColorKey [in]

Tipo: D3DCOLOR

Valor D3DCOLOR a ser substituído por preto transparente ou 0 para desabilitar a tecla de cor. Essa é sempre uma cor ARGB de 32 bits, independente do formato de imagem de origem. Alpha é significativo e geralmente deve ser definido como FF para chaves de cor opacas. Assim, para preto opaco, o valor seria igual a 0xFF000000.

pSrcInfo [in, out]

Tipo: D3DXIMAGE_INFO*

Ponteiro para uma estrutura D3DXIMAGE_INFO a ser preenchida com uma descrição dos dados no arquivo de imagem de origem ou NULL.

pPalette [out]

Tipo: PALETTEENTRY*

Ponteiro para uma estrutura PALETTEENTRY , representando uma paleta de 256 cores para preencher ou NULL.

ppTexture [out]

Tipo: LPDIRECT3DVOLUMETEXTURE9*

Endereço de um ponteiro para uma interface IDirect3DVolumeTexture9 , representando o objeto de textura criado.

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: D3DERR_NOTAVAILABLE, D3DERR_OUTOFVIDEOMEMORY, D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA E_OUTOFMEMORY.

Comentários

A configuração do compilador também determina a versão da função. Se Unicode for definido, a chamada de função será resolvida para D3DXCreateVolumeTextureFromFileExW. Caso contrário, a chamada de função será resolvida para D3DXCreateVolumeTextureFromFileExA porque cadeias de caracteres ANSI estão sendo usadas.

Essa função dá suporte aos seguintes formatos de arquivo: .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm e .tga. Consulte D3DXIMAGE_FILEFORMAT.

As texturas mipmapped têm automaticamente cada nível preenchido com a textura de volume carregada. Ao carregar imagens em texturas mipmapped, alguns dispositivos não conseguem acessar uma imagem 1x1 e essa função falhará. Se isso acontecer, as imagens precisarão ser carregadas manualmente.

Ao ignorar níveis de mipmap ao carregar um arquivo .dds, use a macro D3DX_SKIP_DDS_MIP_LEVELS para gerar o valor MipFilter . Essa macro usa o número de níveis para ignorar e o tipo de filtro e retorna o valor do filtro, que, em seguida, seria passado para o parâmetro MipFilter .

Requisitos

Requisito Valor
parâmetro
D3dx9tex.h
Biblioteca
D3dx9.lib

Confira também

D3DXCreateVolumeTextureFromFile

D3DXCreateVolumeTextureFromFileInMemory

D3DXCreateVolumeTextureFromFileInMemoryEx

D3DXCreateVolumeTextureFromResource

D3DXCreateVolumeTextureFromResourceEx

Funções de textura no D3DX 9