Compartir a través de


Método IDirect3DDevice9::CreateTexture (d3d9.h)

Crea un recurso de textura.

Sintaxis

HRESULT CreateTexture(
  [in]          UINT              Width,
  [in]          UINT              Height,
  [in]          UINT              Levels,
  [in]          DWORD             Usage,
  [in]          D3DFORMAT         Format,
  [in]          D3DPOOL           Pool,
  [out, retval] IDirect3DTexture9 **ppTexture,
  [in]          HANDLE            *pSharedHandle
);

Parámetros

[in] Width

Tipo: UINT

Ancho del nivel superior de la textura, en píxeles. Las dimensiones de píxeles de los niveles posteriores serán el valor truncado de la mitad de la dimensión de píxel del nivel anterior (independientemente). Cada dimensión se fija en un tamaño de 1 píxel. Por lo tanto, si la división en 2 da como resultado 0, se tomará 1 en su lugar.

[in] Height

Tipo: UINT

Alto del nivel superior de la textura, en píxeles. Las dimensiones de píxeles de los niveles posteriores serán el valor truncado de la mitad de la dimensión de píxel del nivel anterior (independientemente). Cada dimensión se fija en un tamaño de 1 píxel. Por lo tanto, si la división en 2 da como resultado 0, se tomará 1 en su lugar.

[in] Levels

Tipo: UINT

Número de niveles en la textura. Si es cero, Direct3D generará todos los subniveles de textura de hasta 1 en 1 píxeles para hardware que admita texturas mipmapped. Llame a IDirect3DBaseTexture9::GetLevelCount para ver el número de niveles generados.

[in] Usage

Tipo: DWORD

El uso puede ser 0, lo que indica que no hay ningún valor de uso. Sin embargo, si se desea el uso, use una combinación de una o varias constantes D3DUSAGE . Se recomienda hacer coincidir el parámetro de uso con las marcas de comportamiento en IDirect3D9::CreateDevice.

[in] Format

Tipo: D3DFORMAT

Miembro del tipo enumerado D3DFORMAT , que describe el formato de todos los niveles de la textura.

[in] Pool

Tipo: D3DPOOL

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

[out, retval] ppTexture

Tipo: IDirect3DTexture9**

Puntero a una interfaz IDirect3DTexture9 , que representa el recurso de textura creado.

[in] pSharedHandle

Tipo: HANDLE*

Reservado. Establezca este parámetro en NULL. Este parámetro se puede usar en Direct3D 9 para Windows Vista para compartir recursos.

Valor devuelto

Tipo: HRESULT

Si el método se realiza correctamente, el valor devuelto es D3D_OK. Si se produce un error en el método, el valor devuelto puede ser uno de los siguientes: D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY.

Comentarios

Una aplicación puede detectar compatibilidad con la generación automática de mapas Mip (Direct3D 9) en un formato determinado llamando a IDirect3D9::CheckDeviceFormat con D3DUSAGE_AUTOGENMIPMAP. Si IDirect3D9::CheckDeviceFormat devuelve D3DOK_NOAUTOGEN, IDirect3DDevice9::CreateTexture se realizará correctamente, pero devolverá una textura de un nivel.

En CreateTexture de Windows Vista puede crear una textura a partir de un puntero de memoria del sistema, lo que permite a la aplicación una mayor flexibilidad sobre el uso, la asignación y la eliminación de la memoria del sistema. Por ejemplo, una aplicación podría pasar un puntero de mapa de bits de memoria del sistema GDI y obtener una interfaz de textura direct3D alrededor de ella. El uso de un puntero de memoria del sistema con CreateTexture tiene las siguientes restricciones.

  • El tono de la textura debe ser igual al ancho multiplicado por el número de bytes por píxel.
  • Solo se admiten texturas con un solo nivel de mapa mip. El argumento Levels debe ser 1.
  • El argumento Pool debe ser D3DPOOL_SYSTEMMEM.
  • El argumento pSharedHandle debe ser un puntero válido a un búfer que pueda contener el punto de memoria del sistema; *pSharedHandle debe ser un puntero válido a la memoria del sistema con un tamaño en bytes de ancho de textura * alto de textura * bytes por píxel del formato de textura.

Requisitos

   
Plataforma de destino Windows
Encabezado d3d9.h (incluya D3D9.h)
Library D3D9.lib

Consulte también

D3DXCreateTexture

D3DXCreateTextureFromFile

D3DXCreateTextureFromFileEx

D3DXCreateTextureFromFileInMemory

D3DXCreateTextureFromFileInMemoryEx

D3DXCreateTextureFromResource

D3DXCreateTextureFromResourceEx

IDirect3DDevice9