Compartir a través de


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

Cree una sola textura 3D.

Sintaxis

HRESULT CreateTexture3D(
  [in]            const D3D11_TEXTURE3D_DESC   *pDesc,
  [in, optional]  const D3D11_SUBRESOURCE_DATA *pInitialData,
  [out, optional] ID3D11Texture3D              **ppTexture3D
);

Parámetros

[in] pDesc

Tipo: const D3D11_TEXTURE3D_DESC*

Puntero a una estructura de D3D11_TEXTURE3D_DESC que describe un recurso de textura 3D. 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 3D. 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 del valor del miembro MipLevels de la estructura D3D11_TEXTURE3D_DESC a la que apunta pDesc . No se admiten matrices de texturas de volumen 3D.

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

[out, optional] ppTexture3D

Tipo: ID3D11Texture3D**

Puntero a un búfer que recibe un puntero a una interfaz ID3D11Texture3D 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

CreateTexture3D crea un recurso de textura 3D, que puede contener un número de subrecursos 3D. 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 pueden usar una de las funciones de textura D3DX, como D3DX11CreateTextureFromFile.

Cada elemento de pInitialData proporciona todos los segmentos definidos para un miplevel determinado. Por ejemplo, para una textura de volumen de 32 x 32 x 4 con una cadena de mapas MIP completa, la matriz tiene los siguientes 6 elementos:

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

Requisitos

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

Consulte también

ID3D11Device