Função D3DXCreateCubeTextureFromFileInMemoryEx
Cria uma textura de cubo de um arquivo na memória. Essa é uma função mais avançada do que D3DXCreateCubeTextureFromFileInMemory.
Sintaxe
HRESULT D3DXCreateCubeTextureFromFileInMemoryEx(
_In_ LPDIRECT3DDEVICE9 pDevice,
_In_ LPCVOID pSrcData,
_In_ UINT SrcDataSize,
_In_ UINT Size,
_In_ UINT MipLevels,
_In_ DWORD Usage,
_In_ D3DFORMAT Format,
_In_ D3DPOOL Pool,
_In_ DWORD Filter,
_In_ DWORD MipFilter,
_In_ D3DCOLOR ColorKey,
_Inout_ D3DXIMAGE_INFO *pSrcInfo,
_Out_ PALETTEENTRY *pPalette,
_Out_ LPDIRECT3DCUBETEXTURE9 *ppCubeTexture
);
Parâmetros
-
pDevice [in]
-
Tipo: LPDIRECT3DDEVICE9
Ponteiro para uma interface IDirect3DDevice9 , representando o dispositivo a ser associado à textura do cubo.
-
pSrcData [in]
-
Tipo: LPCVOID
Ponteiro para o arquivo na memória do qual criar a textura do cubo. Consulte Observações.
-
SrcDataSize [in]
-
Tipo: UINT
Tamanho do arquivo na memória, em bytes.
-
Tamanho [in]
-
Tipo: UINT
Largura (ou altura) em pixels. Se esse valor for zero ou D3DX_DEFAULT, as dimensões serão tiradas do arquivo.
-
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 for especificado, o aplicativo deverá marcar que o dispositivo dê suporte a essa operação chamando CheckDeviceFormat. Para obter mais informações sobre como usar texturas dinâmicas, consulte Usando texturas dinâmicas.
-
Formatar [in]
-
Tipo: D3DFORMAT
Membro do tipo enumerado D3DFORMAT , descrevendo o formato de pixel solicitado para a textura do cubo. 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 do cubo 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. Consulte Observações.
-
ppCubeTexture [out]
-
Tipo: LPDIRECT3DCUBETEXTURE9*
Endereço de um ponteiro para uma interface IDirect3DCubeTexture9 , representando o objeto de textura de cubo 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_INVALIDCALL, D3DERR_NOTAVAILABLE, D3DERR_OUTOFVIDEOMEMORY, D3DXERR_INVALIDDATA E_OUTOFMEMORY.
Comentários
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 de cubo diferem de outras superfícies, pois são coleções de superfícies. Para chamar SetRenderTarget com uma textura de cubo, você deve selecionar um rosto individual usando GetCubeMapSurface e passar a superfície resultante para SetRenderTarget .
Esse método foi projetado para ser usado para carregar arquivos de imagem armazenados como RT_RCDATA, que é um recurso definido pelo aplicativo (dados brutos). Caso contrário, esse método falhará.
Para obter detalhes sobre PALETTEENTRY, consulte o SDK da plataforma. Observe que, a partir do DirectX 8.0, o membro peFlags da estrutura PALETTEENTRY não funciona conforme documentado no SDK da Plataforma. O membro peFlags agora é o canal alfa para formatos palettizados de 8 bits.
D3DXCreateCubeTextureFromFileInMemoryEx usa o formato de arquivo DDS (superfície DirectDraw). O Editor de Textura do DirectX (Dxtex.exe) permite que você gere um mapa de cubo de outros formatos de arquivo e salve-o no formato de arquivo DDS. Você pode obter Dxtex.exe e aprender sobre isso no SDK do DirectX. Para obter informações sobre o SDK do DirectX, consulte Onde está o SDK do DirectX?.
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 |
|
Biblioteca |
|
Confira também