Compartir a través de


Método ID3D11Device::CreateTexture2D (d3d11.h)

Cree una matriz de texturas 2D.

Sintaxis

HRESULT CreateTexture2D(
  [in]            const D3D11_TEXTURE2D_DESC   *pDesc,
  [in, optional]  const D3D11_SUBRESOURCE_DATA *pInitialData,
  [out, optional] ID3D11Texture2D              **ppTexture2D
);

Parámetros

[in] pDesc

Tipo: const D3D11_TEXTURE2D_DESC*

Puntero a una estructura de D3D11_TEXTURE2D_DESC que describe un recurso de textura 2D. Para crear un recurso sin tipo que se pueda interpretar en tiempo de ejecución en diferentes formatos compatibles, especifique un formato sin tipo en la descripción de la textura. Para generar niveles de mapa mip automáticamente, establezca el número de niveles de mapa mip en 0.

[in, optional] pInitialData

Tipo: const D3D11_SUBRESOURCE_DATA*

Puntero a una matriz de estructuras de D3D11_SUBRESOURCE_DATA que describen subrecursos para el recurso de textura 2D. Las aplicaciones no pueden especificar NULL para pInitialData al crear recursos INMUTABLEs (consulte D3D11_USAGE). Si el recurso es multimuestreo, pInitialData debe ser NULL porque los recursos de muestreo múltiple no se pueden inicializar con datos cuando se crean.

Si no pasa nada a pInitialData, el contenido inicial de la memoria del recurso no está definido. En este caso, debe escribir el contenido del recurso de alguna otra manera antes de que se lea el recurso.

Puede determinar el tamaño de esta matriz a partir de valores de los miembros MipLevels y ArraySize de la estructura D3D11_TEXTURE2D_DESC a la que apunta pDesc mediante el siguiente cálculo:

MipLevels * ArraySize

Para obtener más información sobre este tamaño de matriz, vea Comentarios.

[out, optional] ppTexture2D

Tipo: ID3D11Texture2D**

Puntero a un búfer que recibe un puntero a una interfaz ID3D11Texture2D para la textura creada. Establezca este parámetro en NULL para validar los demás parámetros de entrada (el método devolverá S_FALSE si los demás parámetros de entrada pasan la validación).

Valor devuelto

Tipo: HRESULT

Si el método se realiza correctamente, el código devuelto se S_OK. Consulta Códigos de retorno de Direct3D 11 para ver los códigos de error con errores.

Comentarios

CreateTexture2D crea un recurso de textura 2D, que puede contener varios subrecursos 2D. El número de texturas se especifica en la descripción de la textura. Todas las texturas de un recurso deben tener el mismo formato, tamaño y número de niveles de mapa mip.

Todos los recursos se componen de uno o varios subrecursos. Para cargar datos en la textura, las aplicaciones pueden proporcionar inicialmente los datos como una matriz de estructuras de D3D11_SUBRESOURCE_DATA a las que apunta pInitialData, o bien puede usar una de las funciones de textura D3DX, como D3DX11CreateTextureFromFile.

Para una textura de 32 x 32 con una cadena de mapas MIP completa, la matriz pInitialData tiene los siguientes 6 elementos:

  • pInitialData[0] = 32x32
  • pInitialData[1] = 16x16
  • pInitialData[2] = 8x8
  • pInitialData[3] = 4x4
  • pInitialData[4] = 2x2
  • pInitialData[5] = 1x1

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado d3d11.h
Library D3D11.lib

Consulte también

ID3D11Device