ID3D11Device3::CreateTexture2D1-Methode (d3d11_3.h)

Erstellt eine 2D-Textur.

Syntax

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

Parameter

[in] pDesc1

Typ: const D3D11_TEXTURE2D_DESC1*

Ein Zeiger auf eine D3D11_TEXTURE2D_DESC1 Struktur, die eine 2D-Texturressource beschreibt. Um eine typlose Ressource zu erstellen, die zur Laufzeit in verschiedene kompatible Formate 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 2D-Texturressource beschreiben. Anwendungen können null fürpInitialData beim Erstellen von IMMUTABLE-Ressourcen nicht angeben (siehe D3D11_USAGE). Wenn die Ressource multisampled ist, muss pInitialDataNULL sein, da Multisampled-Ressourcen beim Erstellen nicht mit Daten initialisiert werden können.

Wenn Sie nichts an pInitialData übergeben, ist der anfängliche Inhalt des Arbeitsspeichers für die Ressource nicht definiert. 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 von Werten in den MipLevels - und ArraySize-Membern der D3D11_TEXTURE2D_DESC1 Struktur bestimmen, auf die pDesc1 verweist, indem Sie die folgende Berechnung verwenden:

MipLevels * ArraySize

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

[out, optional] ppTexture2D

Typ: ID3D11Texture2D1**

Ein Zeiger auf einen Speicherblock, der einen Zeiger auf eine ID3D11Texture2D1-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

CreateTexture2D1 erstellt eine 2D-Texturressource, die eine Reihe von 2D-Unterressourcen enthalten kann. Die Anzahl der Unterressourcen 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. Um Daten in die Textur zu laden, 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.

Für eine 32 x 32-Textur mit einer vollständigen Mipmap-Kette verfügt das pInitialData-Array über die folgenden sechs Elemente:

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2016 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile d3d11_3.h
Bibliothek D3D11.lib

Weitere Informationen

ID3D11Geräte3