ID3D11Device::CreateTexture2D-Methode (d3d11.h)
Erstellen Sie ein Array von 2D-Texturen.
Syntax
HRESULT CreateTexture2D(
[in] const D3D11_TEXTURE2D_DESC *pDesc,
[in, optional] const D3D11_SUBRESOURCE_DATA *pInitialData,
[out, optional] ID3D11Texture2D **ppTexture2D
);
Parameter
[in] pDesc
Typ: const D3D11_TEXTURE2D_DESC*
Ein Zeiger auf eine D3D11_TEXTURE2D_DESC-Struktur , die eine 2D-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 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 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 von Werten in den MipLevels - und ArraySize-Membern der D3D11_TEXTURE2D_DESC Struktur bestimmen, auf die pDesc verweist, indem Sie die folgende Berechnung verwenden:
MipLevels * ArraySize
Weitere Informationen zu dieser Arraygröße finden Sie unter Hinweise.
[out, optional] ppTexture2D
Typ: ID3D11Texture2D**
Ein Zeiger auf einen Puffer, der einen Zeiger auf eine ID3D11Texture2D-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
CreateTexture2D erstellt eine 2D-Texturressource, die eine Reihe von 2D-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.
Für eine Textur von 32 x 32 mit einer vollständigen Mipmap-Kette verfügt das pInitialData-Array über die folgenden 6 Elemente:
- pInitialData[0] = 32x32
- pInitialData[1] = 16x16
- pInitialData[2] = 8x8
- pInitialData[3] = 4x4
- pInitialData[4] = 2x2
- pInitialData[5] = 1x1
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | d3d11.h |
Bibliothek | D3D11.lib |