Método ID3D11Device3::CreateTexture2D1 (d3d11_3.h)

Crea una textura 2D.

Sintaxis

HRESULT CreateTexture2D1(
  [in]            const D3D11_TEXTURE2D_DESC1  *pDesc1,
  [in, optional]  const D3D11_SUBRESOURCE_DATA *pInitialData,
  [out, optional] ID3D11Texture2D1             **ppTexture2D
);

Parámetros

[in] pDesc1

Tipo: const D3D11_TEXTURE2D_DESC1*

Puntero a una estructura de D3D11_TEXTURE2D_DESC1 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 está 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 los valores de los miembros MipLevels y ArraySize de la estructura de D3D11_TEXTURE2D_DESC1 a la que apunta pDesc1 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: ID3D11Texture2D1**

Puntero a un bloque de memoria que recibe un puntero a una interfaz ID3D11Texture2D1 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 de retorno se S_OK. Consulte Códigos de retorno de Direct3D 11 para ver los códigos de error con errores.

Comentarios

CreateTexture2D1 crea un recurso de textura 2D, que puede contener un número de subrecursos 2D. El número de subrecursos 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 pueden 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
Cliente mínimo compatible Windows 10 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2016 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado d3d11_3.h
Library D3D11.lib

Consulte también

ID3D11Device3