Función D3DXCreateCubeTextureFromFileEx
Crea una textura de cubo a partir de un archivo. Se trata de una función más avanzada que D3DXCreateCubeTextureFromFile.
Sintaxis
HRESULT D3DXCreateCubeTextureFromFileEx(
_In_ LPDIRECT3DDEVICE9 pDevice,
_In_ LPCTSTR pSrcFile,
_In_ UINT Size,
_In_ UINT MipLevels,
_In_ DWORD Usage,
_In_ D3DFORMAT Format,
_In_ D3DPOOL Pool,
_In_ DWORD Filter,
_In_ DWORD MipFilter,
_In_ D3DCOLOR ColorKey,
_Out_ 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.
-
pSrcFile [in]
-
Tipo: LPCTSTR
Puntero a una cadena que especifica el nombre de archivo. Si la configuración del compilador requiere Unicode, el tipo de datos LPCTSTR se resuelve en LPCWSTR. De lo contrario, el tipo de datos de cadena se resuelve en LPCSTR. Vea la sección Comentarios.
-
Tamaño [in]
-
Tipo: UINT
Ancho y alto de la textura del cubo, en píxeles. Por ejemplo, si la textura del cubo es un cubo de 8 píxeles por 8 píxeles, el valor de este parámetro debe ser 8. Si este valor es 0 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 o 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 mediante una llamada a CheckDeviceFormat. D3DUSAGE_DYNAMIC indica que la superficie debe controlarse dinámicamente. 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 de cubo devuelta podría tener un formato diferente del especificado por Format. Las aplicaciones deben comprobar el formato de la textura de cubo 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.
-
Piscina [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 constantes D3DX_FILTER , controlando cómo se filtra la imagen. Especificar D3DX_DEFAULT para este parámetro es equivalente a especificar D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER.
-
MipFilter [in]
-
Tipo: DWORD
Combinación de una o varias constantes D3DX_FILTER que controlan 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 omitirán (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 que se va a 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. Alfa es significativo y normalmente debe establecerse en FF para las teclas de color opaco. Por lo tanto, para negro opaco, el valor sería igual a 0xFF000000.
-
pSrcInfo [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.
-
ppCubeTexture [out]
-
Tipo: LPDIRECT3DCUBETEXTURE9*
Dirección de un puntero a una interfaz IDirect3DCubeTexture9 , que representa el objeto de textura de cubo creado.
Valor devuelto
Tipo: HRESULT
Si la función se realiza correctamente, el valor devuelto se 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.
Observaciones
La configuración del compilador también determina la versión de la función. Si se define Unicode, la llamada de función se resuelve en D3DXCreateCubeTextureFromFileExW. De lo contrario, la llamada de función se resuelve en D3DXCreateCubeTextureFromFileExA porque se usan cadenas ANSI.
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.
D3DXCreateCubeTextureFromFileEx usa el formato de archivo de superficie DirectDraw (DDS). El Editor de texturas de DirectX (Dxtex.exe) 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, consulta ¿Dónde está el SDK de DirectX?.
Al omitir los niveles de mapa mip al cargar un archivo .dds, use la macro D3DX_SKIP_DDS_MIP_LEVELS para generar el valor de MipFilter. Esta macro toma el número de niveles que se omitirán y el tipo de filtro y devuelve el valor de filtro, que luego se pasará al parámetro MipFilter.
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|
Vea también