Freigeben über


ID3D11Device::CreateTexture3D-Methode (d3d11.h)

Erstellen Sie eine einzelne 3D-Textur.

Syntax

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

Parameter

[in] pDesc

Typ: const D3D11_TEXTURE3D_DESC*

Ein Zeiger auf eine D3D11_TEXTURE3D_DESC Struktur, die eine 3D-Texturressource beschreibt. Um eine typlose Ressource zu erstellen, die zur Laufzeit in verschiedenen, kompatiblen Formaten interpretiert werden kann, geben Sie in der Texturbeschreibung ein typloses Format an. Um Mipmap-Ebenen automatisch zu generieren, legen Sie die Anzahl der mipmap-Ebenen auf 0 fest.

[in, optional] pInitialData

Typ: const D3D11_SUBRESOURCE_DATA*

Ein Zeiger auf ein Array von D3D11_SUBRESOURCE_DATA Strukturen, die Unterressourcen für die 3D-Texturressource beschreiben. Anwendungen können beim Erstellen von IMMUTABLE-Ressourcen nicht NULL für pInitialData angeben (siehe D3D11_USAGE). Wenn die Ressource multisampled ist, muss pInitialDataNULL sein, da multisampled-Ressourcen nicht mit Daten initialisiert werden können, wenn sie erstellt werden.

Wenn Sie nichts an pInitialData übergeben, ist der anfängliche Inhalt des Arbeitsspeichers für die Ressource undefiniert. In diesem Fall müssen Sie den Ressourceninhalt auf andere Weise schreiben, bevor die Ressource gelesen wird.

Sie können die Größe dieses Arrays anhand des Werts im MipLevels-Member der D3D11_TEXTURE3D_DESC Struktur bestimmen, auf die pDesc verweist. Arrays von 3D-Volumetexturen werden nicht unterstützt.

Weitere Informationen zu dieser Arraygröße finden Sie unter Hinweise.

[out, optional] ppTexture3D

Typ: ID3D11Texture3D**

Ein Zeiger auf einen Puffer, der einen Zeiger auf eine ID3D11Texture3D-Schnittstelle für die erstellte Textur empfängt. Legen Sie diesen Parameter auf NULL fest, um die anderen Eingabeparameter zu überprüfen (die Methode gibt S_FALSE zurück, wenn die anderen Eingabeparameter die Überprüfung bestehen).

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, wird der Rückgabecode S_OK. Fehlercodes finden Sie unter Direct3D 11-Rückgabecodes .

Hinweise

CreateTexture3D erstellt eine 3D-Texturressource, die eine Reihe von 3D-Unterressourcen enthalten kann. Die Anzahl der Texturen wird in der Texturbeschreibung angegeben. Alle Texturen in einer Ressource müssen das gleiche Format, die gleiche Größe und die gleiche Anzahl von MIPMAP-Ebenen aufweisen.

Alle Ressourcen bestehen aus einer oder mehreren Unterressourcen. Zum Laden von Daten in die Textur können Anwendungen die Daten zunächst als Array von D3D11_SUBRESOURCE_DATA Strukturen bereitstellen, auf die von pInitialData verwiesen wird, oder sie können eine der D3DX-Texturfunktionen wie D3DX11CreateTextureFromFile verwenden.

Jedes Element von pInitialData stellt alle Slices bereit, die für einen bestimmten miplevel definiert sind. Für eine Volumetextur von 32 x 32 x 4 mit einer vollständigen Mipmap-Kette verfügt das Array beispielsweise über die folgenden 6 Elemente:

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

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d11.h
Bibliothek D3D11.lib

Weitere Informationen

ID3D11Device