Compartir a través de


Función D3DXCreateTextureFromFile

Crea una textura a partir de un archivo.

Sintaxis

HRESULT D3DXCreateTextureFromFile(
  _In_  LPDIRECT3DDEVICE9  pDevice,
  _In_  LPCTSTR            pSrcFile,
  _Out_ LPDIRECT3DTEXTURE9 *ppTexture
);

Parámetros

pDevice [in]

Tipo: LPDIRECT3DDEVICE9

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

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.

ppTexture [out]

Tipo: LPDIRECT3DTEXTURE9*

Dirección de un puntero a una interfaz IDirect3DTexture9 , que representa el objeto de textura 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_NOTAVAILABLE, D3DERR_OUTOFVIDEOMEMORY, D3DERR_INVALIDCALL, 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 D3DXCreateTextureFromFileW. De lo contrario, la llamada de función se resuelve en D3DXCreateTextureFromFileA 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.

La función es equivalente a D3DXCreateTextureFromFileEx(pDevice, pSrcFile, D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, ppTexture).

Las texturas mipmapped se rellenan automáticamente con la textura cargada.

Al cargar imágenes en texturas mipmapped, algunos dispositivos no pueden ir a una imagen 1x1 y se producirá un error en esta función. Si esto sucede, las imágenes deben cargarse manualmente.

Tenga en cuenta que un recurso creado con esta función se colocará en la clase de memoria indicada por D3DPOOL_MANAGED.

El filtrado se aplica automáticamente a una textura creada mediante este método. El filtrado es equivalente a D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER en D3DX_FILTER.

Para obtener el mejor rendimiento al usar D3DXCreateTextureFromFile:

  1. Realizar la conversión de formato y escalado de imágenes en tiempo de carga puede ser lento. Almacenar imágenes en el formato y la resolución que se usarán. Si el hardware de destino requiere potencia de dos dimensiones, cree y almacene imágenes con potencia de dos dimensiones.
  2. Considere la posibilidad de usar archivos de superficie de DirectDraw (DDS). Dado que los archivos DDS se pueden usar para representar cualquier formato de textura de Direct3D 9, son muy fáciles de leer D3DX. Además, pueden almacenar mapas mip, por lo que se pueden usar algoritmos de generación de mapas mip para crear las imágenes.

Requisitos

Requisito Value
Encabezado
D3dx9tex.h
Biblioteca
D3dx9.lib

Vea también

D3DXCreateTextureFromFileEx

Funciones de textura en D3DX 9