Freigeben über


D3D11_TEXTURE_LAYOUT-Enumeration (d3d11_3.h)

Gibt Texturlayoutoptionen an.

Syntax

typedef enum D3D11_TEXTURE_LAYOUT {
  D3D11_TEXTURE_LAYOUT_UNDEFINED = 0,
  D3D11_TEXTURE_LAYOUT_ROW_MAJOR = 1,
  D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE = 2
} ;

Konstanten

 
D3D11_TEXTURE_LAYOUT_UNDEFINED
Wert: 0
Das Texturlayout ist nicht definiert und wird vom Treiber ausgewählt.
D3D11_TEXTURE_LAYOUT_ROW_MAJOR
Wert: 1
Die Daten für die Textur werden in Zeilen-Hauptreihenfolge (manchmal auch als pitch-linear bezeichnet) gespeichert.
D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE
Wert: 2
Eine Standardtextur verwendet das standardisierte Swizzle-Muster.

Hinweise

Diese Enumeration steuert das Swizzle-Muster von Standardtexturen und aktiviert die Kartenunterstützung für Standardtexturen. Aufrufer müssen D3D11_FEATURE_DATA_D3D11_OPTIONS2 abfragen, um sicherzustellen, dass jede Option unterstützt wird.

Die standardmäßigen Swizzle-Formate gelten in jedem seitengroßen Block, und seiten sind linear zueinander angeordnet. Ein 16-Bit-Interleave-Muster definiert die Konvertierung von vorgeschwenktem Seitenstandort in die position nach dem Schwenken.

Standard-Swizzle-Muster Betrachten Sie zur Veranschaulichung das obige Swizzle-Format 32bpp. Dies wird durch die folgenden interleave Masken dargestellt, wobei Bits auf der linken Seite am wichtigsten sind.
UINT xBytesMask = 1010 1010 1000 1111
UINT yMask =      0101 0101 0111 0000

Zum Berechnen der swizzled-Adresse kann der folgende Code verwendet werden (wobei die _pdep_u32-Anweisung unterstützt wird):

UINT swizzledOffset = resourceBaseOffset +
                      _pdep_u32(xOffset, xBytesMask) + 
                      _pdep_u32(yOffset, yBytesMask);

Anforderungen

Anforderung Wert
Header d3d11_3.h

Weitere Informationen

Ressourcenaufzählungen