Compartir a través de


Función D3DXCreateCubeTextureFromFileInMemoryEx

Crea una textura de cubo a partir de un archivo en memoria. Se trata de una función más avanzada que D3DXCreateCubeTextureFromFileInMemory.

Sintaxis

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

Puntero a una interfaz IDirect3DDevice9 , que representa el dispositivo que se va a asociar a la textura del cubo.

pSrcData [in]

Tipo: LPCVOID

Puntero al archivo en memoria desde el que se va a crear la textura del cubo. Vea la sección Comentarios.

SrcDataSize [in]

Tipo: UINT

Tamaño del archivo en memoria, en bytes.

Tamaño [in]

Tipo: UINT

Ancho (o alto) en píxeles. Si este valor es cero o D3DX_DEFAULT, las dimensiones se toman del archivo.

MipLevels [in]

Tipo: UINT

Número de niveles mip solicitados. Si este valor es cero o D3DX_DEFAULT, se crea una cadena de mapas mip completa.

Uso [in]

Tipo: DWORD

0, D3DUSAGE_RENDERTARGET o D3DUSAGE_DYNAMIC. Establecer esta marca en D3DUSAGE_RENDERTARGET indica que la superficie se va a usar como destino de representación. A continuación, el recurso se puede pasar al parámetro pNewRenderTarget del método SetRenderTarget . Si se especifica D3DUSAGE_RENDERTARGET, la aplicación debe comprobar que el dispositivo admite esta operación llamando a CheckDeviceFormat. Para obtener más información sobre el uso de texturas dinámicas, consulte Uso de texturas dinámicas.

Formato [in]

Tipo: D3DFORMAT

Miembro del tipo enumerado D3DFORMAT , que describe el formato de píxel solicitado para la textura del cubo. La textura devuelta puede tener un formato diferente al especificado por Format. Las aplicaciones deben comprobar el formato de la textura devuelta. Si D3DFMT_UNKNOWN, el formato se toma del archivo. Si D3DFMT_FROM_FILE, el formato se toma exactamente como está en el archivo y se producirá un error en la llamada si esto infringe las funcionalidades del dispositivo.

Grupo [in]

Tipo: D3DPOOL

Miembro del tipo enumerado D3DPOOL , que describe la clase de memoria en la que se debe colocar la textura del cubo.

Filtro [in]

Tipo: DWORD

Combinación de una o varias D3DX_FILTER controlar cómo se filtra la imagen. Especificar D3DX_DEFAULT para este parámetro es el equivalente a especificar D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER.

MipFilter [in]

Tipo: DWORD

Combinación de una o varias D3DX_FILTER controlar cómo se filtra la imagen. Especificar D3DX_DEFAULT para este parámetro es equivalente a especificar D3DX_FILTER_BOX. Además, use bits 27-31 para especificar el número de niveles mip que se van a omitir (desde la parte superior de la cadena de mapas mip) cuando se carga una textura .dds en la memoria; esto le permite omitir hasta 32 niveles.

ColorKey [in]

Tipo: D3DCOLOR

Valor D3DCOLOR para reemplazar por negro transparente o 0 para deshabilitar la clave de color. Siempre es un color ARGB de 32 bits, independientemente del formato de imagen de origen. El alfa es significativo y normalmente debe establecerse en FF para las teclas de color opacos. Por lo tanto, para negro opaco, el valor sería igual a 0xFF000000.

pSrcInfo [in, out]

Tipo: D3DXIMAGE_INFO*

Puntero a una estructura de D3DXIMAGE_INFO que se va a rellenar con una descripción de los datos del archivo de imagen de origen o NULL.

pPalette [out]

Tipo: PALETTEENTRY*

Puntero a una estructura PALETTEENTRY , que representa una paleta de 256 colores para rellenar o NULL. Vea la sección Comentarios.

ppCubeTexture [out]

Tipo: LPDIRECT3DCUBETEXTURE9*

Dirección de un puntero a una interfaz IDirect3DCubeTexture9 , que representa el objeto de textura del cubo creado.

Valor devuelto

Tipo: HRESULT

Si la función se ejecuta correctamente, el valor devuelto es D3D_OK. Si se produce un error en la función, el valor devuelto puede ser uno de los siguientes: D3DERR_INVALIDCALL, D3DERR_NOTAVAILABLE, D3DERR_OUTOFVIDEOMEMORY, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Comentarios

Esta función admite los siguientes formatos de archivo: .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm y .tga. Consulte D3DXIMAGE_FILEFORMAT.

Las texturas de cubo difieren de otras superficies en que son colecciones de superficies. Para llamar a SetRenderTarget con una textura de cubo, debe seleccionar una cara individual mediante GetCubeMapSurface y pasar la superficie resultante a SetRenderTarget .

Este método está diseñado para usarse para cargar archivos de imagen almacenados como RT_RCDATA, que es un recurso definido por la aplicación (datos sin procesar). De lo contrario, se producirá un error en este método.

Para más información sobre PALETTEENTRY, consulte el SDK de plataforma. Tenga en cuenta que, a partir de DirectX 8.0, el miembro peFlags de la estructura PALETTEENTRY no funciona como se documenta en el SDK de plataforma. El miembro peFlags ahora es el canal alfa para formatos palettizados de 8 bits.

D3DXCreateCubeTextureFromFileInMemoryEx usa el formato de archivo de superficie de DirectDraw (DDS). El Editor de texturas de DirectX (Dxtex.exe) le permite generar un mapa de cubo a partir de otros formatos de archivo y guardarlo en el formato de archivo DDS. Puede obtener Dxtex.exe y obtener información sobre ella desde el SDK de DirectX. Para obtener información sobre el SDK de DirectX, consulte ¿Dónde está el SDK de DirectX?.

Al omitir los niveles de mapa mip mientras se carga un archivo .dds, use la macro D3DX_SKIP_DDS_MIP_LEVELS para generar el valor mipFilter. Esta macro toma el número de niveles que se van a omitir y el tipo de filtro y devuelve el valor de filtro, que luego se pasará al parámetro MipFilter.

Requisitos

Requisito Value
Encabezado
D3dx9tex.h
Biblioteca
D3dx9.lib

Consulte también

Funciones de textura en D3DX 9