Freigeben über


D3D11_SUBRESOURCE_DATA-Struktur (d3d11.h)

Gibt Daten zum Initialisieren einer Unterressource an.

Syntax

typedef struct D3D11_SUBRESOURCE_DATA {
  const void *pSysMem;
  UINT       SysMemPitch;
  UINT       SysMemSlicePitch;
} D3D11_SUBRESOURCE_DATA;

Member

pSysMem

Typ: const void*

Zeiger auf die Initialisierungsdaten.

SysMemPitch

Typ: UINT

Der Abstand (in Bytes) vom Anfang einer Zeile einer Textur zur nächsten Zeile.
Der Systemspeicherabstand wird nur für 2D- und 3D-Texturdaten verwendet, da er für die anderen Ressourcentypen keine Bedeutung hat. Geben Sie den Abstand zwischen dem ersten Pixel eines 2D-Slices einer 3D-Textur und dem ersten Pixel des nächsten 2D-Slices in dieser Textur im SysMemSlicePitch-Element an.

SysMemSlicePitch

Typ: UINT

Der Abstand (in Bytes) vom Anfang einer Tiefenebene zur nächsten.
Der Pitch vom Systemspeicher wird nur für 3D-Texturdaten verwendet, da er für die anderen Ressourcentypen keine Bedeutung hat.

Hinweise

Diese Struktur wird in Aufrufen zum Erstellen von Puffern (ID3D11Device::CreateBuffer) und Texturen (ID3D11Device::CreateTexture1D, ID3D11Device::CreateTexture2D und ID3D11Device::CreateTexture3D) verwendet. Wenn für die von Ihnen erstellte Ressource kein Systemspeicherabstand oder eine System-Speicher-Slice-Pitch erforderlich ist, können Sie diese Member verwenden, um Größeninformationen zu übergeben. Dies kann Ihnen beim Debuggen eines Problems beim Erstellen einer Ressource helfen.

Eine Unterquelle ist eine einzelne Oberfläche auf Mipmap-Ebene. Sie können ein Array von Unterressourcen an eine der vorherigen Methoden übergeben, um die Ressource zu erstellen. Eine Unterquelle kann 1D, 2D oder 3D sein. Wie Sie die Member von D3D11_SUBRESOURCE_DATA festlegen, hängt davon ab, ob die Unterquelle 1D, 2D oder 3D ist.

Die x-, y- und d-Werte sind 0-basierte Indizes, und BytesPerPixel hängt vom Pixelformat ab. Bei mipmappenbasierten 3D-Oberflächen beträgt die Anzahl der Tiefenschnitte in jeder Ebene die Hälfte der Anzahl der vorherigen Ebene (mindestens 1) und wird gerundet, wenn die Aufteilung durch zwei zu einer nicht ganzen Zahl führt.

Hinweis Eine Anwendung darf sich nicht darauf verlassen , dass SysMemPitch genau der Anzahl von Texels in einer Zeile mal der Größe eines Texel entspricht. In einigen Fällen enthält SysMemPitch das Auffüllen, um zusätzliche Daten in einer Zeile zu überspringen. Dies kann das Auffüllen für die Ausrichtung sein, oder die Textur kann ein Unterabschnitt einer größeren Textur sein. Beispielsweise könnte die D3D11_SUBRESOURCE_DATA-Struktur einen Unterabschnitt von 32 mal 32 einer Textur von 128 mal 128 darstellen. Der Wert für SysMemSlicePitch spiegelt alle in SysMemPitch enthaltenen Auffüllungen wider.
 

Anforderungen

Anforderung Wert
Header d3d11.h

Weitere Informationen

Ressourcenstrukturen